我的界面是用storyboard拉的
第一個頁面是登入頁面
登入完會進入一個TabBarViewController
我希望只要登入過後
下次開啟app的時候跳過登入頁面
直接進入TabBarViewController
所以我在登入頁面寫了以下程式
- (void)viewWillAppear:(BOOL)animated {
[super viewDidAppear:animated];
if (已登入)
{
UIStoryboard* sb = [UIStoryboard storyboardWithName:@"Main"
bundle:nil];
TabBarViewController *tabVC = [sb instantiateViewControllerWithIdentifier:
@"TabBar"];
[self presentViewController:tabVC animated:NO completion:nil];
}
}
這樣去跑會有錯誤
whose view is not in the window hierarchy!
原因是presentViewController一定要在viewDidAppear之後呼叫
所以我把程式碼移到viewDidAppear
不過這樣的話,登入頁面還是會出現一瞬間,才present我的TabBarViewController
請問要怎麼做才能讓登入頁面完全不要出現呢?
有想到一個做法是把登入頁面的所有元件先隱藏..沒有登入才顯示
但總覺得應該有更好的做法XD