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 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