我有一个应用程序委托,其默认视图之前应该有一个模态视图控制器,有时还有两个模态视图控制器。因此,在应用程序委托中didFinishLaunchingWithOptions
,我正在检查是否需要并在这种情况下显示第一个模态视图控制器。
在关闭第一个模态视图控制器(使用[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];
}
}
更新:上面的代码适用于以下更正:
if([self needsActivation]) {
[pinViewController presentModalViewController:activationViewController
animated:YES];
}