这个问题快把我逼疯了。
我的 Storyboard 中有一个 UITableViewCell 原型(prototype)。它包含一堆 subview 。其中一个 subview UILabel 行为异常。
当 tableview 加载并首次显示时,所有单元格看起来都很好。但是,随着表格 View 向下滚动,最终其中一个单元格会显示没有 UILabel subview 。似乎它总是第一个被回收的电池。
但是,如果我继续向下滚动表格 View ,一旦行为不当的单元格被表格 View 的顶部剪裁(当它开始滚动到屏幕顶部之外)时,标签就会正常显示。
看起来标签就在那里,它接收到我在 cellForRowAtIndexPath 方法中分配给它的字符串。它只是由于某种原因没有被绘制。我试过在不同的地方插入 setNeedsDisplay 消息,但这没有帮助。
同样奇怪的是,我在 Storyboard中的不同 View Controller 中使用了具有重复 View 层次结构的完全相同的 UITableViewCell 子类,而且我没有遇到任何问题。
有人知道我该如何开始解开这个谜团吗?
谢谢!
最佳答案
这听起来好像只有在您使用可重复使用的单元格时才会出现问题,这意味着在您准备好滚动时,可重复使用的单元格上的值可能不会被设置。
关于iphone - UITableViewCell subview 直到重绘才显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9197193/