【发布时间】:2017-08-30 13:43:30
【问题描述】:
我有一些用于设置、信息等的 ViewControl。 用户可以关闭应用程序设置 ViewController 打开(我的意思是弹出 ViewController)。 当收到本地通知时,我希望应用程序转到根视图控制器并关闭任何弹出窗口。
【问题讨论】:
我有一些用于设置、信息等的 ViewControl。 用户可以关闭应用程序设置 ViewController 打开(我的意思是弹出 ViewController)。 当收到本地通知时,我希望应用程序转到根视图控制器并关闭任何弹出窗口。
【问题讨论】:
编辑 只有当您尝试返回的 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
}
只需确保故事板的名称正确,并且该故事板中的视图控制器的标识符已定义。
【讨论】: