很抱歉,如果标题有点令人困惑。 我在我的应用程序中有这个场景。我有一个我的应用程序的主要部分,大约9个视图都与segue链接在一起,一个部分没有链接到任何东西。当满足某个条件时,需要从app delegate中实例化此部分。
我有一个导航控制器,一个在第2部分的开头。
我需要能够实例化第二部分视图控制器,同时使其成为第二部分导航控制器的根视图控制器。
我收到错误的那一刻:
push segues can only be used when the source controller is managed by uinavigationcontroller
因为我只是实例化第2节的视图控制器而不是使它成为根视图控制器。
screenshot links can be seen here as not enough rep to post screenshots.
如果在满足条件的情况下加载应用程序,则启动带有导航控制器的部分,然后用户可以选择通过推送segue转换到另一个视图。这是我收到错误的时候。
第二部分正在转换,返回错误。
代码:
if userDefaults.boolForKey("HasLaunchedOnce") == true {
var storyboard = UIStoryboard(name: "Main", bundle: nil)
var vc = storyboard.instantiateViewControllerWithIdentifier("loginSelection") as LoginViewController
self.window?.makeKeyAndVisible()
self.window?.rootViewController = vc
}else {
println("first launch")
}
感谢。
答案 0 :(得分:0)
不,这不是问题问题是,您的ViewController没有嵌入UINavigationController
。
要解决此问题,请单击未嵌入UINavigationController
的UIViewController。然后单击Xcode菜单:
Editor-> Embed in -> Navigationcontroller.