在应用程序退出时关闭模式视图控制器
Posted
技术标签:
【中文标题】在应用程序退出时关闭模式视图控制器【英文标题】:Dismiss modal view controller on application exit 【发布时间】:2010-08-16 04:48:58 【问题描述】:当用户按下按钮时,我有一个视图控制器(视图 A)呈现模式视图(B),而视图 B 本身有一个按钮来呈现视图 C。我的问题是,如果用户在显示视图 B 或 C,下次启动应用程序时将出现相同的视图。有没有办法在退出时关闭视图 B 和 C 或在应用程序启动时显示视图 A? 感谢您的帮助
【问题讨论】:
【参考方案1】:我假设你的意思是当应用程序进入后台时。
在您的应用委托中,您可以通过 applicationDidEnterBackground: 方法关闭您的控制器。
最好的方法可能是在你的视图控制器类中添加一个观察者:
- (void) viewDidLoad
[super viewDidLoad];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(appClosing) name:@"appClosing" object:nil];
- (void) dealloc
[[NSNotificationCenter defaultCenter] removeObserver:self name:@"appClosing" object:nil];
[super dealloc];
- (void) appClosing
[self dismissModalViewControllerAnimated:YES];
并在您的应用委托中发布通知:
- (void)applicationDidEnterBackground:(UIApplication *)application
[[NSNotificationCenter defaultCenter] postNotificationName:@"appClosing" object:nil];
【讨论】:
感谢您的回答。我尝试了您的解决方案并且它有效。我还找到了另一个更简单的解决方案,在退出时显示主视图(我在编译时也收到警告): - (void)applicationDidEnterBackground:(UIApplication *)application [self presentModalViewController:viewController.view animated:NO]; 干杯以上是关于在应用程序退出时关闭模式视图控制器的主要内容,如果未能解决你的问题,请参考以下文章