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]