我想从通知小部件中打开特定视图。
通常其他答案是创建新视图.. (let viewcontroller = ... )
所以如果你继续打电话,继续使用记忆..
所以,我想打开已经在我的应用程序中打开的viewA,然后转到viewB。
我的应用程序结构基本上是应用程序启动时的viewA。
我认为不是创建新的viewA,而是使用现有viewA中的navigation.push移动到viewB。
检查特定页面是否已存在,如何在顶部显示该页面以及如何使用navigation.push的方法是有效的。
现在我使用此代码从Appdelegate
let MainView: Main_View_List_ = mainStoryboard.instantiateViewController(withIdentifier: "Main_List_View") as! Main_View_List_
let nav = UINavigationontroller.init(rootViewController: MainView)
UIApplication.topViewController()?.present(nav, animated: true, completion: nil)
答案 0 :(得分:0)
假设你有权访问导航控制器,你会想要做这样的事情来回到viewA:
for viewController in nav.viewControllers {
if viewController is ViewAClass {
viewController.pushViewBFlag = true
nav.popToViewController(viewController, animated: true)
return
}
}
回到viewA后,您可以检查pushViewBFlag并创建并推送viewB。
或者,由于您似乎将viewA设置为导航控制器的根目录,因此您可以执行:nav.popToRootViewControllerAnimated(true)
以返回viewA。然后,您需要处理从viewA推送viewB。