iOS:为什么不显示导航栏?

iOS:为什么不显示导航栏?,ios,xcode,uinavigationcontroller,uinavigationbar,transition,Ios,Xcode,Uinavigationcontroller,Uinavigationbar,Transition,我的应用程序启动到登录视图或主菜单,具体取决于用户是否在以前的会话中登录。这就是我以编程方式定义“初始视图控制器”的原因 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow alloc] initWithFrame:UIScreen.mainScreen.bounds];

我的应用程序启动到登录视图或主菜单,具体取决于用户是否在以前的会话中登录。这就是我以编程方式定义“初始视图控制器”的原因

- (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"];
}
登录场景是导航控制器的根视图控制器,用户可以从那里注册或登录

问题是,如果使用以下代码,实际上会显示登录视图,但缺少导航栏。。。你知道我做错了什么吗?如果我在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"];
}

如果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"];
}