【问题标题】:How to dismiss any popover viewcontrollers when activated in iOS?在 iOS 中激活时如何关闭任何弹出视图控制器?
【发布时间】:2017-08-30 13:43:30
【问题描述】:

我有一些用于设置、信息等的 ViewControl。 用户可以关闭应用程序设置 ViewController 打开(我的意思是弹出 ViewController)。 当收到本地通知时,我希望应用程序转到根视图控制器并关闭任何弹出窗口。

【问题讨论】:

    标签: ios popover dismiss


    【解决方案1】:

    编辑 只有当您尝试返回的 VC 不需要任何特殊初始化时,此答案才有效,因为此方法会创建它的新实例。请记住这一点。

    试试这个方法,它会删除你的视图控制器堆栈中的任何东西,并在屏幕上显示一个特定的视图控制器:

    func dismissAllAndNavigate(){
    
    
        let appDelegate = UIApplication.shared.delegate as! AppDelegate
        let window = appDelegate.window
        let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
        let rootController = mainStoryboard.instantiateViewController(withIdentifier: "some identifier") as! UIViewController
        window?.rootViewController = rootController
    

    }

    只需确保故事板的名称正确,并且该故事板中的视图控制器的标识符已定义。

    【讨论】:

    • 请记住,此方法创建根视图控制器的新实例
    • 真的,这只有在你的 vc 没有进行特殊初始化的情况下才有用,这意味着它总是相同的(就像一个只适用于不同 vc 之间导航的 vc)
    猜你喜欢
    • 2017-11-23
    • 2016-08-21
    • 1970-01-01
    • 1970-01-01
    • 2014-08-27
    • 2020-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多