使用StoryBoard的時候加入使用者引導頁面
如果想讓一個APP加上引導頁面是一個非常完美的舉動
但是,總會遇到一些問題
(不要忘記在APDelegate裡面加上使用者引導頁面的標頭檔案和程式啟動時的第一個頁面哦)
情況一:純程式碼
判斷是否是第一次啟動應用程式
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindowalloc]initWithFrame:[[UIScreenmainScreen] bounds]] ;
if
{
[[NSUserDefaultsstandardUserDefaults] setBool:YESforKey:@"firstLaunch"];
NSLog(@"第一次啟動");
//如果是第一次啟動的話,使用UserGuideViewController (使用者引導頁面) 作為根檢視
UserGuideViewController *userGuideViewController = [[UserGuideViewControlleralloc
self.window.rootViewController = userGuideViewController;
}
else
{
NSLog(@"不是第一次啟動");
TranslateController *tranVC = [[TranslateControlleralloc] init];
self.window.rootViewController = tranVC;
}
self.window.backgroundColor = [UIColor
whiteColor
[self.windowmakeKeyAndVisible];
returnYES;
}
情況二:使用storyboard
情況基本相同,不同的是
NSLog(@"不是第一次啟動");
UIStoryboard *story = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
UIViewController * vc = [story instantiateViewControllerWithIdentifier:@"TranslateController"];
self.window.rootViewController = vc;
解釋一下原理先,如果使用純程式碼的話,不是第一次啟動應用程式的時候會自動執行下面的程式碼,所以不會有問題如果使用storyboard的話,初始化第一個檢視控制器(程式第一個介面),什麼都沒有,(除非你自己使用程式碼新增控制元件),而且storyboard在啟動的時候並不是從這裡開始的,而是預設storyboard的第一個檢視控制器,所以,加上一個標誌就好
這樣它就能找到應該啟動的介面