2016-05-10 12 views
2

を使用せずにuitableのビューヘッダーのために再利用されるのUIViewを登録するにはどうすれば私のストーリーボード上のUIViewを作成していると私は私のUITableViewのヘッダのために、このビューを使用します。私はこのビューのためにストーリーボード上の識別子を与えました。また、viewForHeaderInSectionクラスでは、以下に示すようにこの識別子をデキューします。しかし、私がテーブルをリロードすると、headerCellが新しいインスタンスであることがわかりました。この場合は再利用されません。ペン先

override func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { 
    let headerCell = tableView.dequeueReusableCellWithIdentifier("HeaderCell") as! UserHomeHeaderCell 

私は以下のようにのviewDidLoad()メソッドでこのクラスを登録しようとしています

tableView.registerClass(UserHomeHeaderCell.classForCoder, forCellReuseIdentifier: "HeaderCell") 

しかし、ストーリーボードにリンクされているすべてのセルの内容がnilです。このヘッダーはどのように再利用するべきですか?

+0

をそこから。 –

+0

別のアプローチは、以下のリンクで言及されています。 [SOリンク(http://stackoverflow.com/questions/9219234/how-to-implement-custom-table-view-section-headers-and-footers-with-storyboard) キーは、プロトタイプを使用する「でありますセルをセクションヘッダーやフッターとして使用します。 これはプロトタイプの細胞を使ったハックです。最良の方法はNibを使用することです。 –

+0

http://samwize.com/2015/11/06/guide-to-customizing-uitableview-section-header-footer/このリンクを参照してください...それは、再利用可能なヘッダビュー.. –

答えて

-1
あなたはのviewDidLoad(にペン先を登録する必要が

tableView.registerNib(UINib(nibName: "UserHomeHeaderCell" , bundle: nil), forHeaderFooterViewReuseIdentifier: HeaderCell) 
+0

を使用して、私はペン先のファイルを持っていません。ビューは、この方法iteself –

+0

で作成されたあなたはviewForHeaderInSectionメソッドのコードを試す意味するかでしたか?私はすでに試みましたが、同じ問題です。 –

+0

のコードを試してみてください代わりのviewDidLoadでクラスを登録する私のストーリーボード –

0

この試してみてください。私はあなたの最良の選択肢は、それ自身の個別の.xibファイルや負荷にヘッダビューを移動させることだと思います

override func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { 
    let headerCell = tableView.dequeueReusableCellWithIdentifier("HeaderCell") as! UserHomeHeaderCell 
    return headerCell.contentView 
} 
関連する問題