0

我有一个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:但没有运气。有想法该怎么解决这个吗?

提前致谢!

4

1 回答 1

0

如果您在启用自动布局的布局代码中设置框架,这就是您会看到的行为。这行不通。自动布局系统负责设置框架并将覆盖您设置的值。

您应该使用约束指定布局或关闭自动布局。

于 2013-06-29T19:06:20.773 回答