使用StoryBoard的時候加入用戶引導頁面

如果想讓一個APP加上引導頁面是一個非常完美的舉動

但是,總會遇到一些問題

(不要忘記在APDelegate裏面加上用戶引導頁面的頭文件和程序啓動時的第一個頁面哦)

情況一:純代碼

判斷是否是第一次啓動應用程序

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

{

    self.window = [[UIWindow alloc]initWithFrame:[[UIScreen mainScreen] bounds]] ;

    if(![[NSUserDefaults standardUserDefaults] boolForKey:@"firstLaunch"])

    {

         [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"firstLaunch"];

        NSLog(@"第一次啓動");

    //如果是第一次啓動的話,使用UserGuideViewController (用戶引導頁面) 作爲根視圖

     UserGuideViewController *userGuideViewController = [[UserGuideViewController alloc] init];

     self.window.rootViewController = userGuideViewController;

    }

    else

    {

       NSLog(@"不是第一次啓動");

       

TranslateController *tranVC = [[TranslateController alloc] init];

           self.window.rootViewController = tranVC;


     }

         self.window.backgroundColor = [UIColor whiteColor];

         [self.window makeKeyAndVisible];

    return YES;

}



情況二:使用storyboard

情況基本相同,不同的是

 NSLog(@"不是第一次啓動");

        UIStoryboard *story = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];

        UIViewController * vc = [story instantiateViewControllerWithIdentifier:@"TranslateController"];

        self.window.rootViewController = vc;

解釋一下原理先,如果使用純代碼的話,不是第一次啓動應用程序的時候會自動執行下面的代碼,所以不會有問題

如果使用storyboard的話,初始化第一個視圖控制器(程序第一個界面),什麼都沒有,(除非你自己使用代碼添加控件),而且storyboard在啓動的時候並不是從這裏開始的,而是默認storyboard的第一個視圖控制器,所以,加上一個標誌就好


這樣它就能找到應該啓動的界面


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章