ios - 替换父 View Controller
<p><p>我有以下具有父子关系的 ViewController 层次结构。</p>
<p><strong>VC1 -- VC2 -- VC3 -- VC4 -- VC5</strong></p>
<p>每个 ViewController 都是前任的 child 。</p>
<p>我用过代码-</p>
<pre><code> ;
;
;
;
</code></pre>
<p>现在,我想<strong>将 VC1 替换为另一个 ViewController ,例如在 VC5 执行操作后此层次结构中的 VC0</strong>,即删除 VC2 后,我希望使用 VC0 而不是 VC1。如何做到这一点?</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p><code>UINavigationController</code> 提供了一个 <a href="https://developer.apple.com/library/ios/documentation/uikit/reference/UINavigationController_Class/Reference/Reference.html#//apple_ref/occ/instm/UINavigationController/setViewControllers%3aanimated%3a" rel="noreferrer noopener nofollow"><code>-setViewControllers:animated:</code></a>可用于修改导航堆栈的方法。它通常用于将应用程序恢复到用户离开应用程序时的状态。来自文档:</p>
<blockquote>
<p>Use this method to update or replace the current view controller stack
without pushing or popping each controller explicitly. In addition,
this method lets you update the set of controllers without animating
the changes, which might be appropriate at launch time when you want
to return the navigation controller to a previous state.</p>
</blockquote>
<p>也就是说,使用这种方法来替换堆栈中的 ViewController ,从 UI 的角度来看,这听起来像是一个糟糕的计划——这似乎可能会让用户感到困惑,他们完全希望父 Controller 不会变形为完全不同的东西。</p></p>
<p style="font-size: 20px;">关于ios - 替换父 ViewController ,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/21240898/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/21240898/
</a>
</p>
页:
[1]