bra*_*ipt 3 uitableview ios swift
我正在使用Interface Builder中的原型单元格向表格视图添加页脚:
实例化页脚时,dequeueReusableHeaderFooterViewWithIdentifier()为单元格返回nil,但dequeueReusableCellWithIdentifier()不是.我在Interface Builder中创建了一个带有正确标识符的页脚视图:

然后我实例化页脚:
func tableView(tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
let id = "MyFooter"
// this works:
// guard let footerCell = self.todaysChoresTableView.dequeueReusableCellWithIdentifier(id) else {
// return nil
// }
guard let footerCell = self.todaysChoresTableView.dequeueReusableHeaderFooterViewWithIdentifier(id) else {
// this doesn't, always returning nil
return nil
}
}
Run Code Online (Sandbox Code Playgroud)
为什么dequeueReusableHeaderFooterViewWithIdentifier()总是返回零?
(lldb) po self.tableView.dequeueReusableHeaderFooterViewWithIdentifier(id)
nil
(lldb) po self.tableView.dequeueReusableCellWithIdentifier(id)
? Optional(<UITableViewCell: 0x7fa313c835f0; frame = (0 0; 600 44); clipsToBounds = YES; layer = <CALayer: 0x7fa313c73150>>)
- Some : <UITableViewCell: 0x7fa313c835f0; frame = (0 0; 600 44); clipsToBounds = YES; layer = <CALayer: 0x7fa313c73150?
Run Code Online (Sandbox Code Playgroud)
我也尝试过这样做,虽然现在已经不存在nil了,但它似乎并没有真正构建基于我的IB设计的视图:
tableView.registerClass(UITableViewHeaderFooterView.self, forHeaderFooterViewReuseIdentifier: id)
let footerView: UITableViewHeaderFooterView? = self.todaysChoresTableView.dequeueReusableHeaderFooterViewWithIdentifier(id)
footerView!.backgroundColor = UIColor.redColor()
return footerView
Run Code Online (Sandbox Code Playgroud)
您是否尝试使用以下代码在代码中注册NIB:
tableView.registerNib(UINib(nibName: "MyFooter", bundle: nil), forHeaderFooterViewReuseIdentifier: "MyFooterID")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4122 次 |
| 最近记录: |