ios - 在 View 生命周期的什么时候,您可以通过 xib 加载 View 的最终帧?

标签 ios uikit interface-builder

我正在设计一个横向的 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/

相关文章:

c# - MonoTouch.Dialog 中的图像或视频附件字段

uiscrollview - UIScrollView.contentInset 如何向上滚动内容 View ?

ios - 我在 MonoTouch 中对 UIButton 进行了子类化,但底层 ObjC 类仍然是 UIButton

iphone - Interface Builder 垂直关闭

ios - 如何向 NSDate 添加周数?

ios - 如何在appdelegate中调用viewController的方法

ios - 为什么导航栏文本大小不受 iOS 7/8 中辅助功能设置的影响?

iphone - 强制加载/卸载 View

object - 使用three20 ui进入界面生成器

ios - 在 Xcode 中为所有 iPhone 设计布局尺寸的正确方法