Ios 在UIStoryboard之间来回切换
我有两个故事板,每个都有不同的UINavigationController。我希望每个导航看起来都不同,因此有多个导航Ios 在UIStoryboard之间来回切换,ios,swift,Ios,Swift,我有两个故事板,每个都有不同的UINavigationController。我希望每个导航看起来都不同,因此有多个导航 AStoryBoard ANavigationController--(RootViewController)-->AViewController->…其他视图控制器 BStoryBoard BNavigationController--(RootViewController)-->BViewController 我想用后退按钮从AViewController跳到BViewCo
AStoryBoard
ANavigationController--(RootViewController)-->AViewController->…其他视图控制器
BStoryBoard
BNavigationController--(RootViewController)-->BViewController
我想用后退按钮从AViewController
跳到BViewController
并返回到AViewController
当我使用从AViewController
到BStoryBoard
的序列时,BViewController
出现在ANavigationController
上。但是我想使用BNavigationController
。这就是我的方法
func goToBFlow() {
// Get storyboard
let storyboard: UIStoryboard = UIStoryboard(name: "BStoryBoard", bundle: nil)
let navigationController = storyboard.instantiateViewController(withIdentifier: "BNavigationController") as! UINavigationController
self.window?.rootViewController = navigationController
}
这和预期的一样,但我不能回去了。这是正确的方法吗?如果您已关闭导航控制器,则无法“返回”。您可以保存以前的视图控制器层次结构,然后重新安装根视图控制器以返回。将B navigationcontroller模式地显示在导航控制器上可能更简单。然后你可以把它打发回去,这是有道理的。有没有其他方法可以实现我的目标?如果不显式保存以前的整个导航控件,则不需要“保存”太多;只需保持对上一个
rootViewController
的强引用即可。你可以像我建议的那样,用模态表示B如果你关掉了导航控制器,你就不能“返回”。您可以保存以前的视图控制器层次结构,然后重新安装根视图控制器以返回。将B navigationcontroller模式地显示在导航控制器上可能更简单。然后你可以把它打发回去,这是有道理的。有没有其他方法可以实现我的目标?如果不显式保存以前的整个导航控件,则不需要“保存”太多;只需保持对上一个rootViewController
的强引用即可。你可以按照我的建议,以适当的方式呈现B