Table of Contents
UIViewController 布局
viewWillLayoutSubviews updateViewConstraints viewDidLayoutSubviews
由于现在 iOS 硬件也有多种屏幕尺寸了,不免要在代码里做些布局相关的事。这时往往要在 UIViewController 的 view 已是合适大小之后,这时上面几个方法就有用了。
而且要注意到很重要的一点:在 viewDidLoad
时 UIViewController 的 view 并没有 resize 过,特别是来自 xib 时,此时的尺寸还是 xib 里的尺寸。
对于VC来说设置布局的最合理时机应该是 viewWillLayoutSubviews
或者viewDidLayoutSubviews
(推荐后者),对于 UIView 来说设置布局的最合理时机是为 layoutSubviews
。
如果选择 viewWillAppear
作为布局时机,很有可能触发一些不必要的布局 (比如 modal VC 被 dismiss 后导致当前的 topViewController 调用到 viewWillAppear 这种)