Swift3 headerView和footerView寄存器

Swift3 headerView和footerView寄存器,swift3,header,tableview,footer,Swift3,Header,Tableview,Footer,在使用tableView页眉和页脚时,是否注册似乎无关紧要。 比如: tableView.register(声明CellHeaderView.self,forHeaderFooterViewReuseIdentifier:self.headerId) 我的问题是如何使用这个注册工具,我们必须注册才能使用它们吗?当然,您必须注册xib以便在UITableView标题中使用它们 将以下代码添加到ViewController // inside ViewController viewDidLoad()

在使用tableView页眉和页脚时,是否注册似乎无关紧要。 比如: tableView.register(声明CellHeaderView.self,forHeaderFooterViewReuseIdentifier:self.headerId)
我的问题是如何使用这个注册工具,我们必须注册才能使用它们吗?

当然,您必须注册xib以便在UITableView标题中使用它们

将以下代码添加到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

    }


}
  • 如果您只想使用标题。。。不需要注册

  • 但如果您想自定义视图,则必须在VIEWDID中注册并从Xib加载视图。“注册表nIB:forHeaderFooterViewReuseIdentifier:”

  • 别忘了将xib中的类名从inspector更改为“UITableViewHeaderFooterView”


但我创建tableview的代码不是xib或storyboard,它可以在不编写register语句的情况下工作。使用代码创建单元格时是否不需要?