首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >dequeueReusableHeaderFooterViewWithIdentifier返回单元格为零,但dequeueReusableCellWithIdentifier不返回

dequeueReusableHeaderFooterViewWithIdentifier返回单元格为零,但dequeueReusableCellWithIdentifier不返回
EN

Stack Overflow用户
提问于 2016-02-21 20:45:13
回答 2查看 5.4K关注 0票数 4

我使用Interface中的原型单元格将一个脚注添加到表视图中:

实例化页脚时,dequeueReusableHeaderFooterViewWithIdentifier()将返回单元格的nil,但dequeueReusableCellWithIdentifier()不返回。我在Interface中创建了一个具有正确标识符的页脚视图:

然后实例化页脚:

代码语言:javascript
运行
复制
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
    }
}

为什么dequeueReusableHeaderFooterViewWithIdentifier()总是返回零?

代码语言:javascript
运行
复制
(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→

更新:

我也尝试过这样做,虽然现在它不再是nil了,但它似乎并没有构建一个基于IB设计的视图:

代码语言:javascript
运行
复制
tableView.registerClass(UITableViewHeaderFooterView.self, forHeaderFooterViewReuseIdentifier: id)
let footerView: UITableViewHeaderFooterView? = self.todaysChoresTableView.dequeueReusableHeaderFooterViewWithIdentifier(id)
footerView!.backgroundColor = UIColor.redColor()
return footerView
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35541788

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档