我的情况如下:
我有不同的容器 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
?有时它会在初始化后立即调用,有时则不会...
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/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |