我是一名初级 iOS 开发人员,我正在使用 UITableView。正如标题所示,我正在寻找将给定 View 插入 UITableView 的 header 部分的正确方法。我使用了以下两种方法:
tableView.tableHeaderView = NSBundle.mainBundle().loadNibNamed("InputToListCell", owner: nil, options: nil)[0] as! UITableViewCell
和
let nib = UINib(nibName: "InputToListCell", bundle: nil)
tableView.registerNib(nib, forHeaderFooterViewReuseIdentifier:"InputToListCell")
override func tableView(tableView:UITableView, viewForHeaderInSection section:NSInteger) -> UIView{
let header = tableView.dequeueReusableHeaderFooterViewWithIdentifier("InputToListCell")
return header!;
}
哪种方法更好?如果两者都有效,是否有更好的方法,或者这是一个偏好问题?我只是想知道为什么有两件事做同样的事情?为了灵 active ?
最佳答案
他们做不同的事情。
您的第一个 block 将添加一个 tableHeaderView
显示在整个表格上并随表格滚动的单个 View 。
第二个 block 将创建一个节标题,该节标题将显示在表格中每个节的顶部。它主要随表格滚动,但会固定到屏幕顶部,直到整个部分滚出屏幕。
因此,这完全取决于您实际尝试做什么。在没有部分的表格中(技术上只有一个部分),它们非常相似,不同之处在于第二个将固定到屏幕顶部,但第一个不会。
顺便说一句,在这两种情况下,tableHeaderView 不需要(可能不应该)派生自 UITableViewCell
关于ios - 使用 Swift 和 UITableView 实现表头 View 的正确方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34908483/