在导航控制器内实例化View Controller

时间:2015-02-03 18:12:35

标签: swift uinavigationcontroller

很抱歉,如果标题有点令人困惑。 我在我的应用程序中有这个场景。我有一个我的应用程序的主要部分,大约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")
    }

感谢。

1 个答案:

答案 0 :(得分:0)

不,这不是问题问题是,您的ViewController没有嵌入UINavigationController

要解决此问题,请单击未嵌入UINavigationController的UIViewController。然后单击Xco​​de菜单:

Editor-> Embed in -> Navigationcontroller.