如果是应用程序首次运行,请打开设置

时间:2012-12-10 15:36:02

标签: iphone objective-c ios uistoryboard

我正在使用最新的SDKXCode开发一个iPhone应用程序。

我正在使用故事板,我不知道如何在用户第一次运行应用时打开视图。

我会检查是否保存了用户preferences,如果没有,我会打开设置视图:

prefs = [NSUserDefaults standardUserDefaults];

if ([prefs stringForKey:APP_LANGUAGE_KEY] == nil)
{
    // Open SettingsViewController;
}
else
{
    // Continue usually.
}

这是我的故事板: enter image description here

我该怎么做?

3 个答案:

答案 0 :(得分:4)

你几乎做对了。只需确保在首次启动时设置密钥。

NSString *key = @"AppWasLaunchedInThePast";
BOOL firstLaunch = ![[NSUserDefaults standardUserDefaults] objectForKey:key];
if (firstLaunch) {
    // First launch. Open settings.
    UIStoryboard *sb = [UIStoryboard storyboardWithName:@"FileName" bundle:nil];
    NSString *anID = @"SettingsViewController"; // or whatever you set in IB.
    SettingsViewController *vc = [sb instantiateViewControllerWithIdentifier:anID];
    // push vc to your navigation controller, or present it modally here.
} else {
    // Not first launch.
}
// Make sure we remember that the app was launched:
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:key];
[[NSUserDefaults standardUserDefaults] synchronize];

答案 1 :(得分:3)

要打开视图,请使用

SettingsViewController *settingsView = [self.storyboard instantiateViewControllerWithIdentifier:@"SettingsViewController"];

答案 2 :(得分:0)

您可以在应用初始视图控制器的第一次启动时显示模态视图。

将您的第一次开始检查放在初始视图控制器的viewDidAppear中并调用:

    [self presentModalViewController:vc animated:YES];