在应用程序出口上关闭模态视图控制器

Cyr*_*il 1 iphone objective-c modalviewcontroller

当用户按下按钮时,我有一个视图控制器(视图A)呈现模态视图(B),视图B本身有一个按钮来呈现视图C.我的问题是如果用户在视图B或视图B时退出应用程序显示C,下次启动应用程序时将显示相同的视图.有没有办法在退出时关闭视图B和C,或者在应用程序启动时显示视图A?谢谢你的帮助

vak*_*kio 6

我假设关闭你的意思是当应用程序进入后台时.

在您的app委托中,您可以通过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];
}
Run Code Online (Sandbox Code Playgroud)

并在您的应用代理中发布通知:

- (void)applicationDidEnterBackground:(UIApplication *)application
{
     [[NSNotificationCenter defaultCenter] postNotificationName:@"appClosing" object:nil];
}
Run Code Online (Sandbox Code Playgroud)