2014-07-08 52 views
0

我有一個應用程序,我想在第一次啓動時顯示教程。爲了我使用[NSUserDefaults standardUserDefaults],它工作正常。這裏是我是如何實現它AppDelegate.m啓動時的不同視圖控制器

//Set windows 
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
    //Set Storyboard 
    UIStoryboard* storyBoard = [UIStoryboard storyboardWithName:@"MainStoryboard" 
                 bundle:nil]; 

    //Check if it's first launch or not 
    if ([[NSUserDefaults standardUserDefaults] boolForKey:@"HasLaunchedOnce"]) 
    { 
     self.homeViewController = [storyBoard instantiateViewControllerWithIdentifier:@"HomeViewController"]; 
     self.rootVC = self.homeViewController; 
    } 
    else 
    { 
     [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"HasLaunchedOnce"]; 
     [[NSUserDefaults standardUserDefaults] synchronize]; 
     self.tutoViewController = [storyBoard instantiateViewControllerWithIdentifier:@"TutoViewController"]; 
     self.rootVC = self.tutoViewController; 
    } 
    self.window.rootViewController = [[UINavigationController alloc] initWithRootViewController:self.rootVC]; 
    [self.window makeKeyAndVisible]; 

我的問題是教程後,當我把「HomeViewController」,我有一個後退按鈕導航欄。我想隱藏它,但我認爲它不是很乾淨,我想知道它可能是一個更好的技巧。

希望你能幫助我! Thx提前

+0

爲什麼不在第一次運行應用程序時在根視圖控制器上推送模態視圖? –

+0

我曾考慮過這個問題,但當我使用PresentViewController時,在解僱它之後,我的導航欄上有一個後退按鈕,但我遇到了同樣的問題。 – user3684398

+0

如果您正在使用故事板,爲什麼不能讓自己變得簡單並刪除上述功能並使用故事板來管理您的視圖。將UINavigationController設置爲故事板中的開始視圖,通過按住控件並拖動到根視圖控件,然後在第一個視圖控制器的viewWillAppear中處理模式彈出邏輯,添加所需的第一個視圖控制器作爲根視圖控制器。 –

回答

1

如果您使用的是故事板,爲什麼不能讓自己變得簡單並刪除上述功能並使用故事板來管理您的視圖。將UINavigationController設置爲故事板中的開始視圖,通過按住控件並拖動到根視圖控件,然後處理第一個視圖控制器的viewWillAppear中的模式彈出邏輯,將您想要的第一個視圖控制器添加爲根視圖控制器

相關問題