我有一个在UIViewController中使用的自定义UIView。自定义视图需要一些自定义/编程布局。我目前正在做的是,在控制器“viewDidAppear”方法中,我正在调用一个名为“layoutThisView”的自定义视图方法。这似乎工作正常。
问题 - 我应该/可以使用UIView layoutSubviews / layoutIfNeeded方法代替这种方法吗?这有助于/是一种更好的方法吗?
答案 0 :(得分:4)
使用layoutSubviews
可能会更好。每当视图因任何原因需要布局时,Cocoa Touch都会自动发送此消息 - 调整大小,方向更改,任何内容。一般情况下,尽可能使用框架。
有一点需要注意:我认为滚动UIScrollView
可能会导致在其包含视图中调用layoutSubviews
,因此您可能需要执行某些操作,以确保在执行某些操作之前实际更改了视图边界在这种情况下的布局类型。我很乐意让一位评论者澄清这一点,但这只是我遇到过的事情,而不是我经过彻底测试的事情。