2012-12-10 48 views
1

我正在开发iPhone应用程序,最新的SDKXCode打开设置,如果它的应用程序的第一次运行

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

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

prefs = [NSUserDefaults standardUserDefaults]; 

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

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

我怎样才能做它?

回答

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]; 
+2

是的,但我不知道怎么打开设置视图控制器或继续平常。 – VansFannel

+0

我不认为你正在回答这个问题。我相信他在问如何打开设置的VC,他已经检测到第一次正确启动。 – rdurand

+0

他想知道如何打开视图控制器 – Bot

3

打开查看使用

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

我在哪里可以放置该代码? – VansFannel

+0

@VansFannel把你的代码放在你的if语句里// //打开settingsviewcontroller – Bot

+0

哦,对不起。我没有解释清楚。我在询问是否需要将该代码放在AppDelegate,MenuViewController或另一个类中。 – VansFannel

0

您可以只显示来自您的应用程序初始视图控制器上首先推出一个模式的看法。

将在您的初始视图控制器的viewDidAppear你的第一个开始检查,并呼吁:

[self presentModalViewController:vc animated:YES]; 
相关问题