2012-05-21 101 views
0

我試圖爲我的應用程序(介紹頁面)設置一個初始視圖,並且在用戶確認此頁面之後,默認情況下此後將顯示一個選項卡式視圖。我是iOS新手,但我的第一個猜測是創建一個標準視圖控制器並將其設置爲初始視圖。然後,當用戶按下ok時,將該值存儲到文件並在每次打開該應用程序時加載該值。如果他們已經按下ok,則導航到標籤式屏幕。如何使用故事板更改iOS5中的初始視圖?

我的第二個選項可能會表現出一些類型對話框中的完全覆蓋的標籤查看這可能會更簡單。我不確定。

與這裏雖然建議大多數方法的問題是,他們沒有用故事板(關於編輯應用程序委託的建議)。我在上面列出瞭解決這個問題的正確方法嗎?如果沒有人可以提供一些關於如何實現這一目標的指導。

就像我之前說這完全是個新手(自WP7上市)很抱歉,如果我沒有說明正確的條款。我感謝你的時間。

回答

2

假設您的第一個選項卡的視圖控制器被命名爲FirstViewController。 編輯FirstViewController的viewDidLoad:

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
    BOOL alreadyShownWelcomeScreen = [defaults boolForKey:@"alreadyShownWelcomeScreen"]; 
    if (alreadyShownWelcomeScreen) { 
     // Already shown welcome screen. Do nothing. 
    } else { 
     // Show welcome screen 

     WelcomeViewController *controller = [[WelcomeViewController alloc] initWithNibName:@"WelcomeViewController" bundle:nil]; 
     [self presentModalViewController:controller animated:YES]; 

     // Update NSUserDefaults. 
     [defaults setBool:YES forKey:@"alreadyShownWelcomeScreen"]; 
     [defaults synchronize]; 
    } 

注:這個,如果你總是FirstViewController推出只會工作。如果您想堅持使用狀態並在不同的選項卡中啓動應用程序,則必須將此代碼移到其他位置(例如AppDelegate.m)。

+0

除了setBoolValue:forKey方法之外,示例看起來很完美。除非我錯過了一些東西,它似乎並不存在? – loyalpenguin

+0

對不起,我的意思是寫setBool而不是setBoolValue。上面更新的代碼。 – melsam

+0

我嘗試了以上,但它從不顯示歡迎屏幕。我調試了它,它正在通過「其他」,但它沒有顯示在屏幕上,它仍然在標籤視圖上啓動。 – loyalpenguin

2

你也可以在故事板中完成這一切。您的初始視圖控制器可以對選項卡式控制器具有延續性,並且只會在滿足條件的情況下遵循該輪播。

+0

+1其實我做了你提到的和melsam說的組合。 (據我所知)看來他的例子只適用於你使用獨立的xib文件。 – loyalpenguin

相關問題