2014-02-12 65 views
1

我有一個具有多個視圖的Navigationcontroller。我的應用程序的週期應該是:NavigationController,等待用戶輸入,直到加載第一個視圖

  1. 應用程序第一次啓動,UIAlertView彈出。

  2. 如果用戶單擊AlertView上的按鈕,NavigationController應加載第一個視圖。

但我不知道如何實現的NavController等待AlertView一切......現在一切工作正常,但我首先查看用戶做任何事情之前已經加載...

回答

0

創建一個類似視圖的「看門人」,即導航控制器的根視圖控制器,這是一個空視圖,它將顯示警報視圖,然後根據用戶的選擇,此視圖將會推送第一個或第二個視圖。

你想完成什麼?根據您的問題,可能有更好的方法來做到這一點,但這是想到ATM的最簡單的解決方案。

+0

我已經嘗試過這種方式...但我wasn't用戶能夠推後第一個觀點擊 – davidOhara

+0

向我們展示您嘗試失敗的原因? –

+0

我嘗試了你所描述的方式!但我的AlertView將不會從該「看門人」視圖中啓動...它將從另一個不是View的類中啓動...因此,我不知道用戶點擊的時間... – davidOhara

1

你可以嘗試像這樣。第一個alertview會來。當你點擊ok時,它會加載firstviewcontroller。

  • (BOOL)應用:(UIApplication的*)應用didFinishLaunchingWithOptions:(NSDictionary的*)launchOptions {

    self.window = [[ALLOC的UIWindow] initWithFrame:方法[[UIScreen mainScreen]界限]];我們可以通過下面的例子來看看如何使用UIAlertView:alert()函數來調用這個函數,然後調用這個函數:UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@「Load the view」message:Nil delegate:self cancelButtonTitle:@「Ok」otherButtonTitles:Nil,nil]; [alert show]; [self.window makeKeyAndVisible]; 返回YES; }

  • (無效)alertView:(UIAlertView中*)alertView clickedButtonAtIndex:(NSInteger的)buttonIndex {

    的NSLog(@ 「%d」,buttonIndex);

    如果(buttonIndex == 0){

    self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil]; 
    
    navController = [[UINavigationController alloc]initWithRootViewController:self.viewController]; 
    
    self.window.rootViewController = navController; 
    

    }}

+0

這可以工作。但我在AlertFinishLaunching中啓動了我的AlertView ...我在另一個課程中啓動了它... – davidOhara

相關問題