菜鸟教程小白 发表于 2022-12-12 12:29:37

ios - 容器环境中何时调用 viewDidLoad?


                                            <p><p>我的情况如下:</p>

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

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

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

<p>什么时候调用<code>viewDidLoad</code>?有时它会在初始化后立即调用,有时则不会...</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>1)ViewController 在其 <code>view</code> 属性被请求但当前为 nil 时调用 <code>loadView</code> 方法。
2)创建 View 后, ViewController 调用 <code>viewDidLoad</code> 方法。
3)<code>view</code>属性返回创建的 View </p>

<p>总结:在您第一次请求 <code>view</code> 属性时调用了 <code>viewDidLoad</code> 方法</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 容器环境中何时调用 viewDidLoad?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/26652457/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/26652457/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 容器环境中何时调用 viewDidLoad?