【发布时间】:2016-03-26 02:24:18
【问题描述】:
我的故事板中有一个 UINavigationController 和两个执行以下功能的 viewController:
InitialViewController:这将是应用程序的主屏幕。
FirstTimeViewController:是用户打开时出现的屏幕 首次使用该应用。
我的 UINavigationController 有一个包含以下代码的类:
- (void)viewDidLoad {
[super viewDidLoad];
if ([[ReadPlist initWithPlist:@"Configuration.plist" key:@"initialConfiguration"] boolValue]){
FirstTimeViewController *firstTimeController = [[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"firstTimeView"]; //or the homeController
[self.navigationController pushViewController:firstTimeController animated:NO];
}else{
InitialViewController *initialController = [[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"initialView"]; //or the homeController
[self.navigationController pushViewController:initialController animated:NO];
}
}
基本上这段代码验证 .plist 文件是否某个特定字段处于活动状态,如果是则表示应用程序是第一次运行,在这种情况下它会调用相应的 viewController。
但是这段代码不起作用,我看到一个带有黑色视图的 NavigationController。我要做的就是在界面构建器中做同样的事情,只需从 UIViewController 内的 UINavigationController 拖一条线并设置为“根视图控制器”,但在我的情况下,我正在尝试以编程方式执行此操作。
我该怎么做?
【问题讨论】:
-
在您当前的实现中,您是 pushViewController,这就是后退按钮可见的原因。更好的设置导航rootViewController
标签: ios objective-c