菜鸟教程小白 发表于 2022-12-13 10:07:29

ios - UINavigationController 弹出到另一个根 Controller


                                            <p><p>我有 3 个 ViewController 。前 2 个 ViewController 嵌入在 <code>UINavigationController</code> 中,如截图所示:</p>

<p> <a href="/image/LKzop.png" rel="noreferrer noopener nofollow"><img src="/image/LKzop.png" alt="Storyboard screenshot"/></a> </p>

<p>起点是 View Controller 1 的 <code>UINavigationController</code>。然后,我推送到 View Controller 3。但是,我希望它弹出到包含 View Controller 2 的 <code>UINavigationController</code> 的根目录。如何更改导航层次结构?</p>

<ul>
<li>需要保留弹出动画</li>
<li>我知道更改 Root ViewController 是一种实现方式,但这在用户体验中会很奇怪</li>
</ul>

<p><em>附言此 Storyboard为说明目的而进行了简化;它们是 ViewController1、2 和 3 之间的许多 ViewController 。</em></p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>我最终使用以下代码更改了整个 <code>UINavigationController</code> 层次结构:</p>

<pre><code>// In the View Controller 3&#39;s button&#39;s `IBAction`:
NSArray *vcs = @[, self];
;
;
</code></pre>

<p>其中 <code>NavController1_Identifier</code> 是第一个 <code>UINavigationController</code> 的 Storyboard标识符。</p>

<hr/>

<p>似乎在这种情况下也可以使用 unwind segue。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - UINavigationController 弹出到另一个根 Controller ,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/32242484/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/32242484/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - UINavigationController 弹出到另一个根 Controller