Sub class : UITableViewHeaderFooterView
UITableViewHeaderFooterViewを継承したクラスを作成します。 We need to implement the sub class of UITableViewHeaderFooterView.1 2 3 4 5 6 7 8 9 10 11 | import UIKit class CustomTableViewHeaderFooterView: UITableViewHeaderFooterView { @IBOutlet weak var headerView: UIView! override func awakeFromNib() { super .awakeFromNib() // Initialization code } } |
Nib file
We need to implement the view for Header.Set to TableView
We need to use tableView.registerNib like a Cell. This is used return value in tableView:viewForHeaderInSection method.If View width is no good, you need to set frame.size.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | 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 } } |