iphone - UITableViewCell subview 直到重绘才显示

标签 iphone ios uitableview uilabel

这个问题快把我逼疯了。

我的 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/

相关文章:

ruby - 在 Sinatra 中,提供 iPhone 布局与普通布局的最佳方式是什么?

ios - 不能使用在 Swift 中使用的 Objective-C 中定义的 unwind segue

ios - 创建滑动以显示 iOS 7 的按钮,使用清晰的背景色

ios - 不同类中的委托(delegate)和数据源可能吗? - UITableView

ios - Iphone - 当每个单元格高度是动态的时,何时计算 tableview 的 heightForRowAtIndexPath?

iphone - 使用核心数据iOS的登录ID和密码

iphone - UITableViewCell 平移以显示选项 : Animated

iphone - 使用浏览器我想打开一个网址,用于付款

ios - 将 View Controller 从一个项目复制到另一个项目

ios - 使用ios ZBar SDK扫描静态UIImage