带有 iOS 9 beta 5 更新的 UITableView Empty

Posted

技术标签:

【中文标题】带有 iOS 9 beta 5 更新的 UITableView Empty【英文标题】:UITableView Empty with iOS 9 beta 5 update 【发布时间】:2015-08-17 02:10:05 【问题描述】:

在我的 iPhone 上更新到 Xcode 7 和 ios 9 beta 5 之后,我的 UITableView 都没有显示数据,除了一个。他们都在从我的 Parse 数据库中下载信息,而有效的方法是为表格的一个部分完美地下载所有内容,而不是另一部分。其他 3 个表视图下载信息,并计算正确的行数,但没有显示任何内容。我尝试只显示所有单元格的静态文本,但它甚至没有显示。

有什么线索吗?我认为下载 Parse 数据不是问题,但实际上将其显示到 tableviews 上。

 let cell:MyChinupsTableViewCell = tableView.dequeueReusableCellWithIdentifier("Cell") as! MyChinupsTableViewCell

    if namesArray.count > 0 
        cell.nameLabel.text = namesArray[indexPath.row]
        cell.bodyText.text = chinUpsArray[indexPath.row]
        let count = likesArray[indexPath.row]
        cell.likeCount.text = "♥︎ " + String(count)

    

    return cell

这是另一个表格视图,但它仍然明白要点。除非我遗漏了什么,否则这里的一切都在正确的层次结构中。

我将该标签添加为测试,但它也没有出现...

这就是它在视图调试器中的样子。如您所见,它正确下载了正确数量的行... 2 谢谢和 4+ 对话。

【问题讨论】:

【参考方案1】:

我不能说这是否是一个通用的解决方案,但在完全相同的情况下(更新到 XCode 7 beta 5 后,tablviewcell 内容在运行时为空)这为我解决了这个问题:

我必须检查内容视图中的每个项目(包括所有约束)并在属性检查器中勾选“已安装”复选框。最初只检查 wR hR。

【讨论】:

天啊,你是救生员。这解决了一切!!!!!!!我很高兴这是一个如此简单的修复。你太棒了。【参考方案2】:

我在 iOS 9.1 中也遇到过这个问题。 如果您只为每个故事板开发一个设备系列,请尝试在故事板的文件检查器中取消选中“使用大小类”。它为我解决了。

【讨论】:

【参考方案3】:

每次更新 iOS 后,heightForRowAtIndexPath 不再正常工作的情况经常发生。

你应该尝试设置:

self.tableView.estimatedRowHeight = XX;
self.tableView.rowHeight = XX;

看看有没有帮助。

第二个答案:

您的nameLabel 是添加到您单元格的contentView 还是直接添加到单元格?应该是contentView

【讨论】:

好的,我刚刚试过了,没用。高度似乎工作正常,它们的大小似乎与更新前完全相同。 所以单元格在这里但不是内容?您能否提供有关如何填充单元格的代码? 单元格全部加载,数据正在完全加载(我有 printlns)来证明这一点。我将用一些代码更新原始问题。该代码不会在屏幕上打印任何内容。我用静态数据尝试过,比如cell.nameLabel.text = "Test",这也不会在屏幕上打印任何内容。 它们位于名为 MyChinupsTableViewCell 的自定义表格视图单元格的内容视图中。在更新到 iOS 9 / Xcode 7 之前,这一切都可以正常工作。奇怪的是,我的应用程序中只有一个表格视图可以工作,而其他的则不能。完美运行的是附加代码最多的那个...... 您是否尝试为单元格的 contentView 着色背景,以便检查它们是否至少显示它?【参考方案4】:

我怀疑单元格视图层次结构,检查视图调试器。如果他们落后,请使用bringsubviewtofront

【讨论】:

因此,在视图调试器中,它显示了几十个不同的层。它应该在那里显示标签和文本视图吗?因为它没有显示任何内容,只是显示了内容视图。 我添加了一张图片向您展示视图调试器。这告诉你什么? 看起来不错。尝试用一些不同的东西改变 dequeueReusableCellWithIdentifier,可能听起来很奇怪,但它曾经解决了我的问题。 那没用 :( 我知道所有信息都在那里,因为当我点击单元格时,它会将我带到正确的屏幕!我只是想不通为什么它没有显示信息。我可能只需要重新创建视图控制器,我一直在努力避免...... 如果以防万一,您有任何可能被打破的限制?【参考方案5】:

对于我的修复,我必须通过反复尝试删除每个子视图来找到有问题的子视图,直到问题消失。我不知道到底是什么问题,但是在创建一个新的子视图之后它现在可以工作了。产生的警告或错误绝对为零。

【讨论】:

以上是关于带有 iOS 9 beta 5 更新的 UITableView Empty的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 7 beta 5 中 iOS 9.0 之前的 UIStackView

iOS 8 中的 Facebook SDK 与 Swift/Xcode beta 5 返回 accessToken 但更新后没有用户 ID

Xcode 9 Beta 5 中的“ARConfiguration() – init() 不可用”错误

iOS 15Beta5版本更新变化,这些细节你发现了吗?

iOS 15Beta5版本更新变化,这些细节你发现了吗?

我们如何为多个 UITab 使用相同的 WKWebView