如何使用委托来指示哪个视图控制器作为初始视图控制器?

时间:2015-12-07 21:16:29

标签: ios swift initialization appdelegate launching-application

我正在尝试向我的app委托文件中添加代码,如果用户登录则允许我直接转到我的“Camera VC”,如果用户没有登录则转到“loginVC”。要成为说实话,我很失落如何做到这一点,任何帮助都会非常感激。

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

    var isLoggedIn: Bool?

    let storyboardId: String = (isLoggedIn != nil) ? "loginVC" : "CameraVC"

    self.window?.rootViewController?.storyboard?.instantiateViewControllerWithIdentifier(storyboardId as String)

    return true
}

2 个答案:

答案 0 :(得分:0)

在Storyboard中,每个UIViewController都有一个标志为initialViewController.U需要设置正确。 Imho最好的解决方案是将两个控制器包装在一些容器控制器(即UINavigationController)中,并以编程方式push(pop)来编写包含的UIViewController。

答案 1 :(得分:0)

objC中的例子

if(![SettingsUtility isUserAuthorized])
    {
        [self showLoginViewController];
    }

    -(void)showLoginViewController
    {
        [self.navigationController performSegueWithIdentifier:@"showLoginViewController" sender:self];
    }