HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 如何检查viewcontroller是否添加到堆栈中大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有两个视图控制器.我按下按钮使用下面的代码,从一个视图导航到另一个视图.
*let secondViewController = self.storyboard!.instantiateViewControllerWithIdentifier("NotificationController") as! NotificationController

self.navigationController!.pushViewController(secondViewController,animated: truE)*

对于背面,我使用条形按钮上的条形按钮单击后面的代码.

self.navigationController?.popViewControllerAnimated(true)

所以我的问题是如果我从一个视图连续到另一个视图然后它添加到堆栈中.我想只显示一个视图,当它已经添加到堆栈中以停止添加它时.它只添加一次.

解决方法

要检查导航堆栈是否包含特定类型的视图控制器,您可以使用:
if let viewControllers = self.navigationController?.viewControllers
{
    if viewControllers.contains(where: {
        return $0 is YourViewController
    })
    {
        //Write your code here
    }
}

要从导航堆栈中删除特定控制器,您需要更改导航堆栈.

例:

if var viewControllers = self.navigationController?.viewControllers
    {
        for controller in viewControllers
        {
            if controller is UIViewController
            {
                viewControllers.removeElement(controller)
                self.navigationController?.viewControllers = viewControllers
            }
        }
    }

大佬总结

以上是大佬教程为你收集整理的ios – 如何检查viewcontroller是否添加到堆栈中全部内容,希望文章能够帮你解决ios – 如何检查viewcontroller是否添加到堆栈中所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。