首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我在UITableView中的头视图没有添加到UIView层次结构中

我在UITableView中的头视图没有添加到UIView层次结构中
EN

Stack Overflow用户
提问于 2015-05-06 07:25:49
回答 1查看 568关注 0票数 0

使用UITableViewNSFetchedResultsController,我刷新并显示表的内容。在某种程度上,我有一个没有标题视图的屏幕。它应该代替细胞之间的空间。

当我调试视图层次结构时,我有以下信息。UI视图层次结构中的选定单元格被附加到调试视图层次结构中的选定单元格。

要创建标题视图,我使用以下方法:

代码语言:javascript
运行
复制
override func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
    let workday = workDayObjectForSection(section)
    let cell = tableView.dequeueReusableCellWithIdentifier(PBOUserWorkDayCellIdentifier) as! PBOUserWorkDayTableViewCell
    cell.configureCellWithWorkDay(workday)

    return cell
}
EN

回答 1

Stack Overflow用户

发布于 2015-05-06 07:48:42

您不应该使用view方法为tableView头获取dequeueReusableCellWithIdentifier。来自文档

如果一个单元对象是可重用的,那么您可以在情节提要中为它分配一个重用标识符(任意字符串)。在运行时,表视图将单元对象存储在内部队列中。当表视图要求数据源配置单元对象以进行显示时,数据源可以通过向表视图发送dequeueReusableCellWithIdentifier: message,传入重用标识符来访问排队的对象。

这意味着当您将头作为重用单元返回时,tableView可能会将它作为单元在另一个位置显示。请注意,标头的行为与单元格不同,它停留在顶部,而节是可见的。

但是,您可以为头使用相同的视图,但每次都从xibstoryboard等创建它,并且不分配任何重用标识符。如果您寻找一些优化,您可以将它们存储在某个数组中并返回缓存的值。但是,我建议不要将UITableViewCell的子类用作表头视图。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30070154

复制
相关文章

相似问题

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