Ios swift3如何显示导航视图控制器
我想从通知小部件中打开特定视图。 通常其他答案是创建新视图。Ios swift3如何显示导航视图控制器,ios,swift3,widget,viewcontroller,appdelegate,Ios,Swift3,Widget,Viewcontroller,Appdelegate,我想从通知小部件中打开特定视图。 通常其他答案是创建新视图。(让viewcontroller=…) 因此,如果您继续呼叫,请继续使用内存 因此,我想打开viewA,它已经在我的应用程序中打开,然后移动到viewB 当应用程序启动时,我的应用程序结构基本上是一个viewA 我的想法是,我希望使用navigation.push从现有的viewA移动到viewB,而不是创建新的viewA 检查特定页面是否已存在、如何在顶部显示该页面以及如何导航.push的方法都是可行的 现在,我使用此代码从Appde
(让viewcontroller=…)
因此,如果您继续呼叫,请继续使用内存
因此,我想打开viewA,它已经在我的应用程序中打开,然后移动到viewB
当应用程序启动时,我的应用程序结构基本上是一个viewA
我的想法是,我希望使用navigation.push从现有的viewA移动到viewB,而不是创建新的viewA
检查特定页面是否已存在、如何在顶部显示该页面以及如何导航.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)
假设您有权访问导航控制器,则需要执行以下操作以弹出回viewA:
for viewController in nav.viewControllers {
if viewController is ViewAClass {
viewController.pushViewBFlag = true
nav.popToViewController(viewController, animated: true)
return
}
}
回到viewA后,可以检查pushViewBFlag并创建和推送viewB
或者,由于您似乎正在将viewA设置为导航控制器的根目录,您可以执行以下操作:nav.poptrootviewcontrolleranimated(true)
,以返回viewA。然后,您需要处理从viewA推送viewB的操作