我正在阅读描述viewDidLayoutSubviews
of UIViewController
:
调用以通知视图控制器其视图刚刚布置了其子视图[...]但是,调用此方法并不表明视图子视图的各个布局已被调整。每个子视图负责调整自己的布局[...]。
对我来说,这意味着:“当子视图布局完成时调用,但实际上这不是真的”。那么真正的背后是什么viewDidLayoutSubviews
?
当 ViewControllers View 的边界发生变化时,在子视图的位置和大小发生变化后调用此方法。
因此,这是我们在视图布置其子视图之后但在屏幕上可见之前对视图进行更改的机会。
任何依赖于边界的更改都可以在这里完成,而不是在 ViewDidLoad 或 ViewWillAppear 中完成。
而 ViewDidLoad 和 ViewWillAppear 则表示视图的框架和边界
尚未最终确定。因此,当 AutoLayout 完成后,它的工作就是修复 mainView 和
它的子视图,调用此方法。
当使用自动布局时,框架不会每次都调用layoutSubviews。在这些情况下称为此。
笔记:
对 viewDidLayoutSubviews 的调用还取决于各种因素,例如自动调整大小掩码、是否使用自动布局以及视图是否位于视图层次结构中。
如需任何其他说明,请检查何时调用layoutSubviews?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)