J'ai besoin d'ajouter de l'espace supplémentaire après le dernier élément de la cellule de vue tableau.
Dans la vue reccycler Android, la même chose peut être obtenue par
android:paddingBottom="8dp" android:clipToPadding="false"
5 Réponses :
Ajoutez une source de données et un délégué pour votre tableview et utilisez les méthodes de délégué suivantes:
- heightForFooterInSection
& viewForFooterInSection
// set view for footer func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? { let footerView = UIView(frame: CGRect(x: 0, y: 0, width: tableView.frame.size.width, height: 40)) // assuming 40 height for footer. footerView.backgroundColor = <Some Color> return footerView } // set height for footer func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat { return 40 }
Merci, mais c'est toujours visible même si je suis @ ma première cellule dans la liste ... je n'ai besoin que de cet espace après ma dernière cellule
Le pied de page est toujours affiché après la dernière cellule du tableau. Si vous avez 1000 cellules, le pied de page se trouve après la cellule 1000 et ne sera pas visible tant que vous ne faites pas défiler vers le bas. Si vous avez 4 cellules, il est affiché après la 4ème cellule. Je soupçonne que le pied de page que vous voyez en bas n'est pas en fait un pied de page, mais c'est la vue derrière la vue de la table car la vue de la table peut ne pas couvrir toute la hauteur de la vue.
Veuillez essayer de donner une couleur distincte, par exemple (UIColor.red ou blue) et voir où le pied de page apparaît.
Sûr va vérifier, thkz
drive.google.com/file/d/17mGK7kThMpIvn ZF-_ZZ4fz8uCY /… . Ça arrive
Vous devez ajouter des inserts à votre tableView. Essayez le code suivant
let insets = UIEdgeInsets(top: 0, left: 0, bottom: 50, right: 0) tableView.contentInset = insets
Merci, mais c'est toujours visible même si je suis @ ma première cellule dans la liste ... je n'ai besoin que de cet espace après ma dernière cellule
Qu'entendez-vous par visible même si je suis @ ma première cellule , l'espace ne sera affiché que lorsque vous faites défiler jusqu'à la fin de la tableView et atteignez la dernière cellule, pas avant car nous sommes réglage de l'insert en fonction du contenu de la tableView .
@EbinJoy. Je vous remercie . Heureux d'aider :)
Lorsque vous utilisez un encart de contenu pour ajouter un remplissage, cela peut créer un problème, lorsqu'aucune donnée n'est disponible dans tableView.
Essayez ceci
Simplement et la vue dans un tableFooterView
pour le remplissage en bas de tableView
.
//Add Padding in the bottom of tableview let view = UIView(frame: CGRect(x: 0, y: 0, width: tableView.frame.size.width, height: 20)) view.backgroundColor = UIColor.white tableView.tableFooterView = view
Ajoutez tableFooterView dans tableview.
let tableFooterView = UIView(frame: CGRect(x: 0, y: 0, width: tableView.frame.size.width, height: 20)) tableFooterView.backgroundColor = UIColor.white tableView.tableFooterView = tableFooterView
En partant d'une réponse précédente, vous devez vérifier s'il s'agit de la dernière cellule.
let bottomPadding = 8 if (self?.tableView.numberOfRows(inSection: 0) ?? 0) - 1 == row { let insets = UIEdgeInsets(top: 0, left: 0, bottom: bottomPadding, right: 0) strongSelf.tableView.contentInset = insets }
En supposant que vous modifiez la première section.