1
我有一個視圖控制器(視圖A)呈現模式視圖(B),當用戶按下按鈕,視圖B本身有一個按鈕來呈現視圖C.我的問題是,如果用戶在顯示視圖B或C時退出應用程序,下次啓動應用程序時將出現相同的視圖。有沒有辦法在退出時關閉視圖B和C,或者在應用程序啓動時顯示視圖A? 感謝您的幫助關閉應用程序退出時的模式視圖控制器
我有一個視圖控制器(視圖A)呈現模式視圖(B),當用戶按下按鈕,視圖B本身有一個按鈕來呈現視圖C.我的問題是,如果用戶在顯示視圖B或C時退出應用程序,下次啓動應用程序時將出現相同的視圖。有沒有辦法在退出時關閉視圖B和C,或者在應用程序啓動時顯示視圖A? 感謝您的幫助關閉應用程序退出時的模式視圖控制器
我假設你是指應用程序進入後臺時的意思。
在您的應用程序委託中,您可以通過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];
}
謝謝您的回答。我嘗試了你的解決方案,它工作。我還發現了另外一個簡單的解決方案,顯示出上(我也得到一個警告,當我編譯)主要觀點: - (空)applicationDidEnterBackground:(UIApplication的*)應用程序{ \t [自我presentModalViewController:viewController.view動畫:沒有]; } 乾杯 – Cyril 2010-08-17 05:50:14