2 votes

Agrandir UITableView à la taille complète?

J'ai un UIViewController. À l'intérieur se trouve une UIScrollView avec plusieurs vues à l'intérieur. En bas se trouve un UITableView.

Ce UITableView est dynamique et affichera un petit nombre ou un grand nombre de lignes. De toute façon, je veux que le UITableView soit affiché en plein écran afin que l'utilisateur puisse faire défiler jusqu'en bas en utilisant la UIScrollView parent, PAS la UIScrollView à l'intérieur du UITableView.

J'ai essayé en désactivant le défilement pour le UITableView (ceci fonctionne correctement). J'ai ensuite essayé de redimensionner le UITableView à l'exécution afin que toutes les lignes puissent être affichées correctement.

Cependant, cette partie ne fonctionne pas. Pour une raison quelconque, malgré la taille vraiment grande du UITableView, toutes les lignes ne sont pas affichées.

J'ai agrandi le UITableView comme ceci:

CGRect frame = tableView.frame;
frame.size.height = 5000;
tableView.frame = frame;

Qu'ai-je manqué? Y a-t-il une autre vue à l'intérieur du UITableView que je dois agrandir pour afficher toutes les lignes?

Désolé si c'est une question stupide, je n'utilise iOS que depuis un mois.

Merci d'avance pour toute aide :)


Pour clarifier, voici une capture d'écran du problème.

La zone rouge est le UITableView, donc c'est certainement la bonne taille. Cependant, il est censé y avoir 10 lignes de table. Il n'y en a que 5, même moins si j'augmente la taille des lignes de tableau.

Que dois-je faire pour afficher toutes les lignes? Que dois-je redimensionner?

description de l'image

3voto

Dondragmer Points 5221

Alors que je vois que vous avez réussi à le faire fonctionner, le fait de placer une UITableView dans votre propre UIScrollView peut signifier que la table ne peut pas gérer ses cellules de contenu aussi efficacement qu'elle le pourrait lorsque elle gère son propre défilement.

Mais, comment pouvez-vous ajouter vos propres vues personnalisées et les faire défiler avec les cellules de la table? En les transformant en sous-vues de la UITableView. Si vous ajoutez une ou deux sous-vues à une UITableView, elle les positionne au-dessus et/ou en dessous de son contenu, et les fait défiler avec ses propres cellules.

La capture d'écran ci-dessous montre à quoi cela ressemble dans l'éditeur d'interface XCode. Notez que la vue racine est la UITableView, elle contient deux sous-vues pour l'en-tête et le pied de page, et ces sous-vues peuvent contenir toutes les sous-vues dont vous avez besoin.

Éditeur d'interface XCode montrant les sous-vues d'une UITableView

0voto

David Omid Points 340

J'ai réussi à le faire fonctionner correctement. Cependant, je n'ai aucune idée de quel était le problème au départ.

J'ai déplacé le UITableView vers le haut pour qu'il recouvre les autres vues de la page. Il s'affichait correctement. Ensuite, je l'ai déplacé vers le bas pour déterminer ce qui causait les problèmes, et il s'est mis à s'afficher parfaitement.

Je vais mettre ça sur le compte d'une erreur dans l'endroit où j'ai placé le UITableView, car je ne vois aucun autre problème.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X