菜鸟教程小白 发表于 2022-12-12 17:10:16

iOS:从导航堆栈中删除 View Controller


                                            <p><p>我有一个基于导航的应用程序,它需要密码才能查看某些页面。当我在 <strong>Controller A</strong> 上时,我想推送到 <strong>Passcode Controller</strong> 然后推送到 <strong>Controller B</strong> 并移除 <strong>Passcode Controller</强> 从堆栈中。 </p>

<p>所以要明确一点,<strong>Passcode Controller</strong> 卡在 <strong>Controller A</strong> 和 <strong>Controller B</strong> 之间,我不知道如何移除它。 </p>

<p>我尝试了两种不同的方法,但都没有给我正确的结果。</p>

<p><strong>尝试 1:</strong></p>

<pre><code>ControllerB *contB = ;
;

;
</code></pre>

<p><strong>尝试 2:</strong></p>

<pre><code>ControllerB *contB = ;

ControllerA *contA = ;

[UIView transitionFromView:contA.view
                  toView:contB.view
                  duration:0.65f
                  options:(UIViewAnimationOptionCurveEaseInOut | UIViewAnimationOptionTransitionCrossDissolve)
                  completion:^(BOOL finished){
                        self.view.window.rootViewController = contA;
                  }];
</code></pre>

<p>有谁知道当我从 <strong>Passcode Controller</strong> 推送 <strong>Controller B</strong> 时如何从堆栈中删除 <strong>Passcode Controller</strong>?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>使用 <code>UINavigationController</code> 上的 <code>viewControllers</code> 属性,如下所示:</p>

<pre><code>self.navigationController.viewControllers = @[ contA, contB ];
</code></pre>

<p>通常,您希望在控制权传递给 Controller ​​ B 后执行此行。</p>

<p>这个问题还有一些其他的代码示例:<a href="https://stackoverflow.com/questions/10281545/removing-viewcontrollers-from-navigation-stack" rel="noreferrer noopener nofollow">Removing viewcontrollers from navigation stack</a> </p></p>
                                   
                                                <p style="font-size: 20px;">关于iOS:从导航堆栈中删除 ViewController ,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/33764905/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/33764905/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: iOS:从导航堆栈中删除 View Controller