Salut, j'ai un TableViewController
avec deux cellules statiques, mais lorsqu'il est affiché, il montre les deux cellules statiques, puis toutes les autres cellules vides pour le tableau. Cependant, je ne veux pas afficher ces cellules car elles sont inutiles. Comment masquer le reste des cellules en dehors des deux cellules statiques?
118
NSTableView
? Il n'a pas de fichiertableFooterView
.tableView.tableFooterView = UIView()
Sélectionnez votre UITableView, accédez à l'inspecteur d'attributs et changez le style en Groupé.
la source
Pour ajouter à cela, la raison pour laquelle la mise
tableFooterView
àUIView()
Retire les lignes parce que vous définissez un videUIView()
objet à la propriété. Selon la documentation Apple:Par conséquent, la définition d'un UIView () vide n'affichera rien sous vos données pour cette propriété.
Vous pouvez ramener les lignes vides en réinitialisant
tableFooterView
la valeur par défaut, comme ceci:la source
La définition de
tableFooterView
devrait supprimer les cellules supplémentaires telles que les vues.la source
Vous pouvez également y parvenir dans Storyboard en faisant simplement glisser une vue dans la zone de pied de page de la vue tableau, puis en définissant sa hauteur et sa couleur d'arrière-plan sur 1 et effacer respectivement à l'aide de l'inspecteur de propriétés.
(Cela suppose que vous ne pouvez pas ou ne voulez pas simplement utiliser le paramètre de style de groupe pour une raison quelconque. Sinon, faites-le.)
la source
Swift 4 En élaborant sur la réponse de HorseT, commencez par faire glisser le contrôle depuis votre vue de table dans votre storyboard, vers votre classe de contrôleur de vue et créez une prise appelée tableView.
Ensuite, votre viewDidLoad dans votre View Controller devrait ressembler à ceci:
la source
Basé sur les réponses ci-dessus en rapide .
la source
si vous souhaitez supprimer des lignes pour tous
UITableViews
dans votre application, ajoutez simplement une extension comme celle-ci:Swift 5.0
la source
Appelez ce code dans
viewDidLoad
method.la source
Ajoutez le code ci-dessous dans vos fonctions " override func viewDidLoad () " ou "override func viewWillAppear (_ animated: Bool)" .
la source
Ajoutez simplement:
Explication:
Ceci est totalement valide et fonctionne parfaitement dans swift 3.By Puisque vous définissez un objet UIView () vide sur la propriété, la définition de tableFooterView sur UIView () supprime les lignes.
la source
Abobe anwer a raison. Nous pouvons y parvenir en ajoutant
la source
J'ai essayé le tableview.tableFooterView = UIView () et cela n'a pas fonctionné pour moi. J'utilise un TableViewViewCell personnalisé, c'est peut-être pourquoi.
J'ai trouvé un hack tho. Dans ma fonction numberOfRowsInSection
Et cela fait que mon UITableViewCell personnalisé extra vierge ne s'affiche plus. Bien sûr, c'est le plus vierge. Je vais le tester un peu plus en ajoutant plus de Cellules. Pour référence, j'utilise Swift 3, Firebase, une classe de cellule personnalisée, à l'intérieur de la fonction cellForRowAt.
la source