我的应用程序启动到登录视图或主菜单,具体取决于用户是否在上一个会话中登录。这就是为什么我定义"初始视图控制器"编程。
登录场景是导航控制器的根视图控制器,用户可以从那里注册或登录。
问题是,如果使用以下代码,实际上显示了登录视图,但导航栏丢失了...任何想法我做错了什么?如果我在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"];
}
答案 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"];
}