72 votes

UITableView Footer, empêcher de flotter au-dessus du contenu

Je voudrais que le pied de page de mon UITableView cesse de flotter au-dessus de mon contenu, comme c'est le cas par défaut. Je veux que mon pied de page soit eh bien un pied de page. Toujours la dernière vue à être affichée à la fin de mon tableview. :)

Même chose pour l'en-tête, en fait.

Existe-t-il un moyen simple de l'empêcher de flotter au-dessus de la vue de la table lorsque vous la faites défiler ?

Merci à tous, je n'ai pas trouvé de réponse ailleurs.

128voto

Jason Points 800

Ok, il s'avère que si vous définissez la vue du pied de page via blahblahtableView.tableFooterView = someview; le pied de page ne défilera pas avec le tableau.

Cependant, si vous créez votre pied de page en utilisant viewForFooterInSection il va suivre votre vue et rester en bas de l'écran.

Je ne sais pas pourquoi je n'ai pas trouvé cette réponse plus tôt. Désolé à tous :)

64 votes

Ce sont deux choses différentes : tableFooterView est le pied de page pour la table entière. viewForFooterInSection est le pied de page pour la section donnée.

2 votes

Que faire si j'ai plusieurs sections dans une vue tableau ?

19 votes

En fait, c'est l'inverse. Pour avoir le pied de page flottant au-dessus de la table, vous devez utiliser viewForFooterInSection sinon, si vous voulez que le pied de page reste en bas et qu'il défile avec le tableau, il faut self.tableView.tableFooterView = footerView .

38voto

guogangj Points 1039
- (id)init {
    self = [self initWithStyle:UITableViewStyleGrouped]; //Default is UITableViewStylePlain
    return self;
}

8 votes

Cela peut également être fait en utilisant le storyBoard, Merci +1

33voto

RSC Points 212

Vous disposez de 2 types de pied de page : l'un est le pied de section et l'autre est le pied de page du tableau .

El pied de section apparaît ci-dessous de chaque section . De l'autre côté, le pied de page du tableau n'apparaît qu'une seule fois au fin du tableau .

Il n'y a pas de moyen en un clic de désactiver le flottement du pied de page de la section.

Si vous voulez un "pied de page" qui apparaît toujours comme la dernière cellule de sa section et qui est fixé au bas du tableau, vous devez ajouter une cellule supplémentaire à votre section et la traiter toujours comme la dernière de votre section.

Si vous n'avez qu'une seule section dans votre tableau, vous pouvez utiliser le pied de page du tableau comme pied de page.

1 votes

D'après les autres réponses à cette question, vous pouvez effectivement désactiver le flottement du pied de section en "1-click" en définissant le style de la vue de la table sur UITableView.Style.grouped, soit dans le code, soit dans XIB/Storyboard.

7voto

megu5202 Points 111

Si vous avez vos cellules divisées en sections et que vous utilisez la fonction :

func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView?

pour définir votre pied de page, alors dans IB, vous pouvez également définir le style UITableView sur Groupé est une autre solution possible !

3voto

nawanian Points 51
self.YOUR_TABLE_VIEW.tableFooterView = YOUR_FOOTER_VIEW;

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