2

我有一个在 UIViewController 中使用的自定义 UIView。自定义视图需要一些自定义/程序布局。我目前正在做的是,在控制器“viewDidAppear”方法中,我正在调用我已经放置的自定义视图方法,称为“layoutThisView”。这似乎工作正常。

问题 - 我应该/可以使用 UIView layoutSubviews/layoutIfNeeded 方法代替这种方法吗?这会帮助/成为更好的方法吗?

4

1 回答 1

4

使用它可能会更好layoutSubviews。每当视图出于任何原因需要布局时,Cocoa Touch 都会自动发送此消息——调整大小、方向更改等。一般来说,尽可能使用框架。

一个警告:我相信滚动 aUIScrollView可能会导致layoutSubviews在其包含的视图上被调用,因此在这种情况下执行某些类型的布局之前,您可能想要做一些事情,例如确保视图边界实际上已经改变。不过,我很乐意让评论者澄清这一点——这只是我遇到的问题,而不是我彻底测试过的问题。

于 2011-08-04T04:55:31.343 回答