我有一個應用程序委託,其默認視圖應先於模態視圖控制器,有時由兩個模態視圖控制器。所以在應用程序代理的didFinishLaunchingWithOptions
中,我正在檢查是否需要,並在這種情況下顯示第一個模式視圖控制器。用於顯示多個模態的NSNotificationCenter?
解散第一個模態視圖控制器(使用[self dismissModalViewControllerAnimated:YES];
)後,我可能想要顯示第二個模態視圖控制器。這也是應用程序委託人所知道的。
所以我的解決方案是使用NSNotificationCenter
告訴應用程序委託,第一個模式視圖控制器現在已被解僱。當發生這種情況時,如果需要,應用程序委託可以顯示第二個模式視圖控制器。
它工作正常,但有更清潔的解決方案嗎?我認爲NSNotificationCenter
真的很難看。
註上一次
我曾嘗試以顯示第一和didFinishLaunchingWithOptions
內第二模態視圖控制器顯示多模態視圖控制器,但我從來沒有得到它的工作。下面是我的嘗試:
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[window setRootViewController:tabBarController];
[self.window makeKeyAndVisible];
[tabBarController presentModalViewController:pinViewController animated:NO];
if([self needsActivation]) {
[tabBarController presentModalViewController:activationViewController
animated:YES];
}
}
UPDATE:上面的代碼適用於以下修正:
if([self needsActivation]) {
[pinViewController presentModalViewController:activationViewController
animated:YES];
}