【发布时间】:2013-06-29 08:00:04
【问题描述】:
我有一个UITableView,它有多个部分,自定义UITableViewCell 子类填充表格。在这些UITableViewCell 子类中,我正在实现layoutSubviews 来自定义标签的位置等。
所有单元格的子视图都在调整,除了视图加载时的第一批可见单元格。它们与它们在故事板中的布局方式相同,这不是我想要的。例如:
http://i.stack.imgur.com/L5GJh.png
注意:绿色和橙色边框是查看标签是否正在调整大小的视觉辅助。
滚动时,所有出现的新单元格都有它们的子视图,就像我在layoutSubviews 中编程的那样。至于第一批可见单元格,我可以将它们滚动到屏幕外然后再打开,然后子视图就可以完美地布局。例如:
http://i.stack.imgur.com/jgjch.png
在tableView: cellForRowAtIndexPath: 内,我在方法返回单元格之前调用[cell layoutIfNeeded]。如果我将其更改为[cell layoutSubviews],则会发生相反的情况,第一批可见单元格按应有的方式布置,但滚动时加载的所有单元格都没有正确布置。
我试图将[cell layoutIfNeeded] 放在[tableview: willDisplayCell: 中,但没有成功。有关如何解决此问题的任何想法?
提前致谢!
【问题讨论】:
标签: ios uiview uitableview layoutsubviews