UITableViewHeaderFooterViewのサブクラスを作成
UITableViewHeaderFooterViewを継承したクラスを作成します。import UIKit class CustomTableViewHeaderFooterView: UITableViewHeaderFooterView { @IBOutlet weak var headerView: UIView! override func awakeFromNib() { super.awakeFromNib() // Initialization code } }
Nibファイルを作成
Header用のViewを作成します。TableViewにセット
Cellと同様にtableView.registerNibでセットしておきます。tableView:viewForHeaderInSectionでロードして戻り値とします。注意点としては、ViewのサイズがAutolayoutになっていないので、frame.sizeでサイズ指定します。
class ViewController: UITableViewController { override func viewDidLoad() { super.viewDidLoad() let nib:UINib = UINib(nibName: "CustomTableViewHeaderFooterView", bundle: nil) tableView.registerNib(nib, forHeaderFooterViewReuseIdentifier: "CustomTableViewHeaderFooterView") } override func numberOfSectionsInTableView(tableView: UITableView) -> Int { return 1 } // header height override func tableView(tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat { return 44 } // header view override func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { let header :CustomTableViewHeaderFooterView = self.tableView.dequeueReusableHeaderFooterViewWithIdentifier("CustomTableViewHeaderFooterView") as! CustomTableViewHeaderFooterView header.headerView.frame.size = CGRectMake(0, 0, tableView.frame.size.width, 44).size return header } }
0 件のコメント:
コメントを投稿