【发布时间】:2014-12-04 18:57:13
【问题描述】:
我有一个带有自定义单元格的 UITableView。在单元格自定义类的awakeFromNib 中,我使用 AutoLayout 添加单元格标签等。第一次查看时它们显示良好。
(蓝色矩形是单个UITableViewCell)
问题是,在我滑动表格视图以使某些单元格离开屏幕然后又返回(即重新布局单元格)后,单元格层被切断。
【问题讨论】:
-
您如何以编程方式添加子视图?你打电话给
[self addSubview:myView]还是[self.contentView addSubview:myView];? -
@HectorMatos 这两种方法我都试过了,结果一样
-
另一种调试方法是转到 Xcode,单击 Debug>View Debugging>Capture View Hierarchy on Xcode 6+。是否有可能将视图添加到视图的左下角?尝试将其从 awakeFromNib 中拉出。如果子视图已经被添加到情节提要中,则不必以编程方式添加子视图。您也可以在情节提要中设置自动布局。我的猜测是,当重复使用单元格时会调用 awakeFromNib,这会导致您的子视图被多次添加。
-
@HectorMatos 非常感谢 Hector,我不知道这种调试技术。它帮助我找到了问题所在。有一个未使用的 UIView 放置在标签上方,这就是它被切断的原因。再次感谢。
-
随时!你想让我把我的 cmets 变成你的答案吗?
标签: ios objective-c iphone uitableview