iOS 9 beta 5更新后UITableView为空

9
在将Xcode 7和iOS 9 beta 5更新到我的iPhone后,除了一个UITableView外,我的所有UITableView都没有显示数据。它们都从我的Parse数据库下载信息,而那个有效的表格部分完美地下载了所有内容,但另一部分没有。其他三个表视图下载信息并计算出正确的行数,但没有显示任何内容。我尝试为所有单元格仅显示静态文本,但它甚至不显示。有什么线索吗?我认为这不是下载Parse数据的问题,而是将其显示到表视图上的问题。
 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

这是另一个表视图,但它仍然能传达信息。除非我漏掉了什么,否则一切都在正确的层次结构中。 输入图像描述 我添加了那个标签作为测试,但它也没有出现...

enter image description here

这是在视图调试器中的样子。正如您所见,它正确地下载了正确数量的行…… 2个“谢谢”和4个以上的对话。
5个回答

19

我不能确定这是普遍的解决方案,但在完全相同的情况下(升级到XCode 7 beta 5后,tablviewcell内容在运行时为空),这对我有用:

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

输入图像描述


1
哇塞,你真是救星啊!这个修复了所有问题!!!我太高兴了,原来如此简单。你太棒了。 - Anthony Saltarelli

3
我在iOS 9.1中也遇到了这个问题。 如果你只为一个设备族编写故事板,请尝试在故事板的文件检查器中取消选中“使用大小类”。这对我有用。 请参考下方图片: enter image description here

0

我怀疑单元格的视图层次结构,请在视图调试器中检查。如果它们在后面,请使用bringsubviewtofront


所以,在视图调试器中,它显示了数十个不同的层。它应该在那里显示标签和文本视图吗?因为它没有显示任何内容,只显示了内容视图。 - Anthony Saltarelli
我添加了一张图片来展示给你查看调试器的视图。这告诉你什么? - Anthony Saltarelli
看起来没什么问题。尝试使用不同的单元格重用标识符,可能听起来很奇怪,但这曾经解决了我的问题。 - Prabhu.Somasundaram
那不起作用:(我知道所有的信息都在那里,因为当我点击单元格时,它会带我到正确的屏幕!但我就是想不出为什么它没有显示信息。我可能不得不重新创建视图控制器,这是我一直试图避免的... - Anthony Saltarelli
如果您有可能被打破的任何限制,该怎么办? - Prabhu.Somasundaram
目前我没有看到任何破损的约束。 - Anthony Saltarelli

0
我的解决方法是通过逐个删除子视图,直到问题消失为止来找到有问题的子视图。我并不知道具体问题出在哪里,但是在创建了一个新的子视图之后,现在它可以正常工作了。完全没有产生任何警告或错误。

0

每次 iOS 更新后,heightForRowAtIndexPath 经常会出现问题。

你应该尝试进行设置:

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

看看能否有所帮助。

第二个答案:

你的nameLabel是添加到单元格的contentView还是直接添加到单元格中的?它应该是添加到contentView中。


好的,我刚试了一下,但它没有起作用。高度似乎是正确的,它们似乎与更新之前完全相同的大小。 - Anthony Saltarelli
所以单元格在这里,但是没有内容? 你能给出填充单元格的代码吗? - Tancrede Chazallet
所有单元格都已加载,数据也已完全加载(我有printlns来证明这一点)。我将在原问题中更新一些代码。该代码不会在屏幕上打印任何内容。我尝试使用静态数据,例如cell.nameLabel.text =“Test”,但这也不会在屏幕上打印任何内容。 - Anthony Saltarelli
他们位于名为MyChinupsTableViewCell的自定义表视图单元格的内容视图中。在更新到iOS 9 / Xcode 7之前,这一切都完全正常工作。奇怪的是,我的应用程序中只有一个表视图可以正常工作,其他的则不能。能够完美工作的那个拥有最多代码附加... - Anthony Saltarelli
你尝试过给单元格的contentView着色背景,这样你就可以检查它们是否至少显示了吗? - Tancrede Chazallet
是的,它们显示了背景颜色,只是没有文字。而且它们显示了应该加载的确切单元格数量。 - Anthony Saltarelli

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接