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 件のコメント:
コメントを投稿