ios - viewWillAppear 与 loadView 用于构建 View 层次结构

标签 ios uiview uiviewcontroller

我正在通过代码构建 View 层次结构,并且想知道当从我的 Controller 请求 View 时,在 loadView 中创建整个层次结构是否更好,然后在 viewWillAppear 方法中将 View 动画显示到屏幕上,或者,如果让事情变得更简单更好,但可能需要通过在 viewWillAppear 中构建整个层次结构来释放和分配更多内存。

我的理解是, Controller 在第一次需要时调用 loadView 创建 View ,然后尽可能长时间地保留它,以便您可以离开并返回到该 Controller 并在 View 中进行动画处理,但不需要通过 viewWillAppear 重新创建并附加它们。

基本上,我发现在 loadView 中单独分配 View 然后在 viewWillAppear 中转换(有时更新其中的内容)它们很困惑,并且想知道保留 View 的好处是否不超过简单性只需重新创建它们(从而重新初始化它们并避免任何未重置的值)。

最佳答案

loadView 在创建时仅调用一次,并且应始终连接以创建 View 。

viewWillAppear:(BOOL)animated 每次显示 View 时都会被调用。如果您的 View 被保留,您可以在此更新/设置您的数据。 (你的UIButtons,UILabels,...已经由loadView分配,你只需在这里设置内容。)

关于ios - viewWillAppear 与 loadView 用于构建 View 层次结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5257588/

相关文章:

ios - 如何防止一次加载多个子 viewController?

iphone - 使用Web服务刷新时如何知道数据是否更新

iPhone - UIView 的背景颜色 - 使用具有透明度的 png?

ios - 什么时候在 Swift 中为 View /图层设置边界和框架?

ios - 如何在导航 Controller 内的 Storyboard 中从appdelegate推送viewcontroller

iphone - UIView 中的 UIWebView 需要链接才能在浏览器中打开

ios - iOS swift 触发后台邮件

ios - 如何跨 View 层次定位布局?

ios - 从自定义委托(delegate)方法检索数据

ios - 多次使用 UIView(使用 xib 创建)作为同一 View 的 subview