Swift - comment faire de l'en-tête personnalisé pour UITableView?
J'ai besoin d'ajouter un en-tête personnalisé à ma table
J'ai essayer cette
func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let view = UIView(frame: CGRect(x: 0, y: 0, width: tableView.frame.size.width, height: 18))
let label = UILabel(frame: CGRect(x: 20, y: 20, width: 50, height: 50))
label.text = "TEST TEXT"
label.textColor = UIColor.whiteColor()
self.view.addSubview(view)
return view
}
mais cela ne fonctionne pas, je ne vois rien sur la table
Ce que je fais mal ? Ou peut-être il ya une autre façon ?
L'ajout de
Je ne sais pas pourquoi vous pensez que la vue serait retiré après qu'il a été ajouté par programme pour les sous-vues de tableau, mais il me semble qu'il serait tout simplement être ajouté à la vue de la hiérarchie dans deux lieux différents, ce qui conduirait à un comportement indéfini.
Nope. Une vue ne peut avoir qu'un superview à la fois. Si vous ajoutez un point de vue de n'importe où, il va d'abord être retiré de l'endroit où il était auparavant.
view
à self.view
n'est pas nécessaire. Il sera supprimé à partir de là, et ajouté à la vue de la table.Je ne sais pas pourquoi vous pensez que la vue serait retiré après qu'il a été ajouté par programme pour les sous-vues de tableau, mais il me semble qu'il serait tout simplement être ajouté à la vue de la hiérarchie dans deux lieux différents, ce qui conduirait à un comportement indéfini.
Nope. Une vue ne peut avoir qu'un superview à la fois. Si vous ajoutez un point de vue de n'importe où, il va d'abord être retiré de l'endroit où il était auparavant.
OriginalL'auteur Alexey K | 2015-08-12
Vous devez vous connecter pour publier un commentaire.
Avez-vous mis la section d'en-tête de la hauteur dans le viewDidLoad?
De Plus, vous devez remplacer
par
Enfin, vous avez pour vérifier vos images
et, finalement, le texte de votre choix de couleur qu'il semble être actuellement le blanc sur blanc.
OriginalL'auteur Tanguy G.
Si vous êtes en utilisant des cellules comme en-tête, d'ajouter la suivante.
Si vous voulez avoir un simple point de vue, d'ajouter la suivante.
OriginalL'auteur A.G
ajouter
label
àsubview
de la coutumeview
, pas besoin deself.view.addSubview(view)
, parce queviewForHeaderInSection
retour de laUIView
view
àself.view
n'est pas nécessaire. Il sera supprimé à partir de là, et ajouté à la vue de la table.OriginalL'auteur Anbu.karthik
Si vous êtes prêt à utiliser des en-têtes de tableau comme le tableau d'en-tête, essayez ce qui suit....
Mis à jour pour swift 3.0
Étape 1
Créer UITableViewHeaderFooterView pour en-tête personnalisé..
Étape 2
Ajouter un en-tête personnalisé pour UITableView
OriginalL'auteur GayashanK
Cela a fonctionné pour moi - Swift 3
OriginalL'auteur Basir Alam
La meilleure Solution de travail de l'ajout de l'en-tête de la vue dans UITableView pour la section de swift 4 --
1 de la première Utilisation de la méthode ViewForHeaderInSection comme ci-dessous -
2 Aussi, Ne pas oublier de régler la Hauteur de l'en-tête à l'aide de heightForHeaderInSection UITableView méthode -
et vous êtes tous ensemble
OriginalL'auteur Mohit Garg