如何在 iOS 10 中的 viewDidAppear 之前获得正确的视图框架?
How can I get a correct frame of view before viewDidAppear in iOS 10?
我在xib中建了一个视图,但是我在viewDidAppear
之前得到的框架是{0,0,1000,1000}
。这不是我想要的。我已经为视图设置了 AutoLayout。
为什么会这样,如何在viewDidAppear
之前得到正确的帧?
谢谢。
初始化按以下顺序进行:
- 加载视图
- viewDidLoad
- viewWillAppear
- viewWillLayoutSubviews
- viewDidLayoutSubviews
- viewDidAppear
布局计算完成后即可使用正确的框架。布局计算在第 4 步之前开始,在第 5 步之后结束。因此 viewDidAppear
是最早计算帧的步骤。
所以恐怕你不能比这更早得到它。您必须将相关代码移动到 viewDidAppear
.
我在xib中建了一个视图,但是我在viewDidAppear
之前得到的框架是{0,0,1000,1000}
。这不是我想要的。我已经为视图设置了 AutoLayout。
为什么会这样,如何在viewDidAppear
之前得到正确的帧?
谢谢。
初始化按以下顺序进行:
- 加载视图
- viewDidLoad
- viewWillAppear
- viewWillLayoutSubviews
- viewDidLayoutSubviews
- viewDidAppear
布局计算完成后即可使用正确的框架。布局计算在第 4 步之前开始,在第 5 步之后结束。因此 viewDidAppear
是最早计算帧的步骤。
所以恐怕你不能比这更早得到它。您必须将相关代码移动到 viewDidAppear
.