启动不同视图时遇到问题。
我有一些教程。因此我在didFinishWithLaunchOptions中设置了这段代码:
if ([[NSUserDefaults standardUserDefaults] boolForKey:@"HasLaunchedOnce"]) {
// Schon mal geöffnen. Kein Tutorial
}
else {
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"HasLaunchedOnce"];
[[NSUserDefaults standardUserDefaults] synchronize];
// Wurde das erste mal geöffnet. Tutorial anzeigen!
}
但我真的不知道如何让它实际上打开不同的观点。找不到任何文件:(
我只想打开一个教程viewController,如果它是第一次启动,如果它不是最初的viewController。
答案 0 :(得分:1)
UIViewController *controller = nil;
if ([[NSUserDefaults standardUserDefaults] boolForKey:@"HasLaunchedOnce"]) {
controller = [HomeViewController alloc] initWithNibName: @"HomeViewController" bundle: nil];
}
else {
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"HasLaunchedOnce"];
[[NSUserDefaults standardUserDefaults] synchronize];
// Wurde das erste mal geöffnet. Tutorial anzeigen!
controller = [TutorialViewController alloc] initWithNibName: @"TutorialViewController" bundle: nil];
}
self.window.rootViewController = controller;
答案 1 :(得分:1)
请查看此this question。我修改了答案以适合您的情况,您应该将以下代码放在application:didFinishLaunchingWithOptions:
NSString *storyboardIdentifier;
if ([[NSUserDefaults standardUserDefaults] boolForKey:@"HasLaunchedOnce"]) {
// Schon mal geöffnen. Kein Tutorial
storyboardIdentifier = @"mainViewController";
} else {
// Wurde das erste mal geöffnet. Tutorial anzeigen!
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"HasLaunchedOnce"];
[[NSUserDefaults standardUserDefaults] synchronize];
storyboardIdentifier = @"tutorialViewController";
}
UIViewController *rootViewController = [[[[self window] rootViewController] storyboard] instantiateViewControllerWithIdentifier:storyboardIdentifier];
[[self window] setRootViewController:rootViewController];
答案 2 :(得分:0)
要从故事板中实例化视图控制器,以下内容将起作用:
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
TutorialViewController *controller = (TutorialViewController *)[mainStoryboard instantiateViewControllerWithIdentifier:@"TutorialViewControllerID"];
请记住在故事板中为viewcontroller设置ID。