Comment faire pour supprimer les cellules vides dans TableViewController, iOS - Swift
Salut j'ai un TableViewController
avec deux cellules statiques, cependant lors de l'affichage, il montre les deux cellules statiques, et puis tous les autres cellules vides pour la tableview. Cependant, je ne veux pas afficher ces cellules qu'ils sont inutiles. Comment puis-je cacher le reste des cellules à l'exception des deux statique de la cellule?
Vous devez vous connecter pour publier un commentaire.
dans votre
viewDidLoad()
fonction ajouter cette ligne de code:NSTableView
? Il n'a pas untableFooterView
.tableView.tableFooterView = UIView()
Sélectionnez votre UITableView, aller à l'attribut de l'inspecteur et de changer de style à Groupés.
Pour ajouter à cela, la raison pourquoi les
tableFooterView
àUIView()
supprime les lignes est parce que vous êtes la fixation d'un videUIView()
objet de la propriété. Conformément à la documentation d'Apple:Par conséquent, la création d'un vide UIView() affiche rien en dessous de vos données pour cette propriété.
Vous pouvez apporter les lignes vides de retour en réinitialisant
tableFooterView
à la valeur par défaut, comme suit:Réglage de la
tableFooterView
devrait supprimer extra cellulaire comme les points de vue.Swift 4
L'élaboration sur HorseT réponse, premier contrôle glisser à partir de votre Table dans votre story-board, à votre Vue Contrôleur de classe et de créer une prise appelée tableView.
Ensuite, votre viewDidLoad dans votre Vue-Contrôleur devrait ressembler à quelque chose comme ceci:
Vous pouvez le faire aussi dans le Storyboard simplement en faisant glisser un point de vue dans la vue de table de la zone de pied de page, puis définissez la hauteur et la couleur d'arrière-plan 1 et claire respectivement à l'aide de l'inspecteur des propriétés.
(Ce qui suppose que vous ne pouvez pas ou ne voulez pas utiliser le style de Groupe de réglage pour une raison quelconque. Sinon, il suffit de le faire.)
Appeler ce code à l'intérieur de la
viewWillAppear
méthode. Et va travaillerBasé sur les réponses ci-dessus, dans swift.
si vous souhaitez supprimer des lignes pour toutes les
UITableViews
dans votre application, il suffit d'ajouter une extension comme ceci:Swift 4.0
Simplement d'ajouter:
Explication:
C'est tout à fait valide et fonctionne parfaitement en swift 3.By Puisque vous êtes, fixer un vide UIView() de l'objet à la propriété, Réglage tableFooterView de UIView() supprime les lignes.
J'ai essayé la tableview.tableFooterView = UIView() et il ne fonctionne pas pour moi. Je suis en utilisant une mesure TableViewViewCell, c'est peut-être pourquoi.
J'ai trouvé un hack tho. Dans mon func numberOfRowsInSection
Et qui rend mon extra vierge personnalisé UITableViewCell ne plus afficher. Bien sûr, son extra vierge. Je vais tester un peu plus en ajoutant plus de Cellules. Pour référence, je suis en utilisant Swift 3, Firebase, une cellule personnalisé de classe, à l'intérieur de la cellForRowAt fonction.
Dans swift 4 vous pouvez supprimer les lignes inutiles avec une simple ligne de code:
La part d'abobe réponse est juste. Nous pouvons atteindre cet objectif en ajoutant