il semble que peu importe que je m'enregistre ou non lorsque j'utilise un en-tête et un pied de page tableView. comme: tableView.register (DeclarationCellHeaderView.self, forHeaderFooterViewReuseIdentifier: self.headerId) ma question est de savoir comment utiliser cette chose registre, nous devons faire inscrire pour les utiliserheaderView et footerView register
0
A
Répondre
0
Certainement vous devez inscrire la xib les utiliser dans UITableView tête
Ajouter à votre code ci-dessous ViewController
// inside ViewController viewDidLoad()
override func viewDidLoad() {
super.viewDidLoad()
nibName = UINib(nibName: "headerViewCellIdentifire", bundle: nil)
tableView.register(nibName, forHeaderFooterViewReuseIdentifier: "headerViewCellIdentifire")
}
extension ViewController : UITableViewDataSource{
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return 200
}
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let view = tableView.dequeueReusableHeaderFooterView(withIdentifier: "headerViewCellIdentifire") as! TableViewHeaderFooterView
return view
}
}
0
Si vous souhaitez utiliser uniquement le titre ... Pas besoin de reg ister. Mais si vous voulez personnaliser votre vue, vous devez vous enregistrer dans viewDidLoad que vous visualisez depuis Xib. « RegisterNib: forHeaderFooterViewReuseIdentifier: »
Ne pas oublier de changer le nom de la classe dans xib de l'inspecteur, à « UITableViewHeaderFooterView »
mais je créé le tableview par code non xib ou story-board, et il fonctionne sans écrire la inscrire la phrase. n'est-ce pas nécessaire lors de l'utilisation du code pour créer une cellule? – Gaga