我需要在顯示分割視圖控制器之前顯示模式視圖控制器。我需要這個,因爲用戶將不得不登錄。UISplitViewController將不會顯示模式視圖控制器
我已閱讀此論壇上的答案,建議模態視圖控制器應該從AppDelegate呈現,但是當嘗試這樣做時,什麼都不會發生。
我已經設置我的視圖控制器與我的界面的其餘部分在相同的故事板,我給視圖控制器的標識符loginViewController
。我試圖在AppDelegate中顯示視圖控制器,如下所示:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
UISplitViewController *splitViewController = (UISplitViewController *) self.window.rootViewController;
UINavigationController *navigationController = splitViewController.viewControllers.lastObject;
splitViewController.delegate = (id) navigationController.topViewController;
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPad" bundle:nil];
LoginViewController *lvc = (LoginViewController *) [storyboard instantiateViewControllerWithIdentifier:@"loginViewController"];
lvc.modalPresentationStyle = UIModalPresentationFullScreen;
[splitViewController presentModalViewController:lvc animated:YES];
}
[_window makeKeyAndVisible];
return YES;
}
當我這樣做時,沒有任何反應。沒有錯誤,沒有模態視圖控制器,沒有任何東西。該應用程序只顯示我的分割視圖控制器。
任何人都可以告訴我如何在顯示分割視圖控制器之前顯示模式視圖控制器嗎?
在呈現AppDelegate中的模式視圖控制器之前,調用'[_window makeKeyAndVisible]'做了訣竅。沒有必要執行'performSelector'或者延遲執行。感謝您的幫助。 – simonbs 2012-03-25 09:51:25
你是對的@SimonBS,但它更好地使用performSelector,因爲如果應用程序不會在5秒內啓動它會殺死看門狗定時器。 – 2012-03-26 10:15:47