OGeek|极客世界-中国程序员成长平台

标题: ios - 容器环境中何时调用 viewDidLoad? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 12:29
标题: ios - 容器环境中何时调用 viewDidLoad?

我的情况如下:

我有不同的容器 View 。如果用户触发点击事件,我会创建一个新容器并在其上调用一个方法,该方法设置 subview Controller 的内容。我遇到的问题是该对象(在我的例子中是 UIWebView )当时是 nat 可用的。原因是当时没有调用viewDidLoad,也没有设置webview。现在我在构造函数中移动了 webview 的初始化。这就引出了我的第二个问题:

在另一个容器上,我加载了相同的 subview Controller (上面有 Web View )。因为 View 的边界在构造函数中不可用,所以我切换到自动布局。现在无法应用自动布局,因为没有 super View 。问题的原因是 subview 的 viewDidLoad 在添加到容器 View 之前被调用(我在其中设置了约束)。因此,无论我尝试将其添加为 subview Controller 的位置,都没有可用的 super View 。然后我将我的自动布局设置移动到 updateViewConstraints 中。

现在我想知道何时会调用 viewDidLoad。我不能在 View Controller 初始化后立即假设,因为那不是真的。准备好后如何可靠地将数据传递给我的 subview Controller ?我在这里做错了吗?

什么时候调用viewDidLoad?有时它会在初始化后立即调用,有时则不会...



Best Answer-推荐答案


1) View Controller 在其 view 属性被请求但当前为 nil 时调用 loadView 方法。 2)创建 View 后, View Controller 调用 viewDidLoad 方法。 3)view属性返回创建的 View

总结:在您第一次请求 view 属性时调用了 viewDidLoad 方法

关于ios - 容器环境中何时调用 viewDidLoad?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26652457/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4