iOS:为什么导航栏没有显示?

时间:2015-06-24 16:16:23

标签: ios xcode uinavigationcontroller uinavigationbar transition

我的应用程序启动到登录视图或主菜单,具体取决于用户是否在上一个会话中登录。这就是为什么我定义"初始视图控制器"编程。

登录场景是导航控制器的根视图控制器,用户可以从那里注册或登录。

问题是,如果使用以下代码,实际上显示了登录视图,但导航栏丢失了...任何想法我做错了什么?如果我在Interface-Builder中将登录场景声明为"初始视图控制器",一切正常,但我需要以编程方式显示视图。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    self.window = [[UIWindow alloc] initWithFrame:UIScreen.mainScreen.bounds];
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
    self.window.rootViewController = [storyboard instantiateViewControllerWithIdentifier:@"LoginScene"];
}

1 个答案:

答案 0 :(得分:2)

如果LoginScene是导航控制器的根视图控制器,那么如果我理解正确的话,你应该将导航控制器设置为窗口的根目录:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    self.window = [[UIWindow alloc] initWithFrame:UIScreen.mainScreen.bounds];
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
    self.window.rootViewController = [storyboard instantiateViewControllerWithIdentifier:@"LoginNavController"];
}
相关问题