我有一个应用程序委托,其默认视图应先于模态视图控制器,有时由两个模态视图控制器。所以在应用程序代理的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];
}