2012-12-10 52 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]; 
相關問題