我正在设计一个横向的 iOS 应用程序。我的典型工作流程是为每个 View Controller 使用具有通用布局的 XIB。一些 View Controller 额外的编程 View 设置。对于这个额外的设置,我需要在 XIB 的 subview 最终帧绘制到屏幕上之前访问它们。
示例:我有一个 XIB,其中一个 subview 占据了其父 View 的一部分。这是 viewDidLoad、viewWillAppear 和 viewDidAppear 方法中 subview 框架的打印输出。
viewDidLoad:
- width : 535.0
- height : 600.0
viewWillAppear:
- width : 535.0
- height : 600.0
viewDidAppear:
- width : 671.0
- height : 414.0
起点都是(0,0)。当 subview 的宽度和高度为 671.0、414 时,但在显示之前,需要完成额外的 View 设置。还需要注意的是,(535,600)是XIB中 subview 的宽高。
最佳答案
自动布局将回调到您的 View Controller 的 viewDidLayoutSubviews。布局引擎通过后。可以多次调用此方法。在最后一次调用结束时,将设置所有 View Controller 的 subview 的框架,并将像素推送到屏幕。
关于ios - 在 View 生命周期的什么时候,您可以通过 xib 加载 View 的最终帧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33555998/