2010-08-16 52 views
1

我有一個視圖控制器(視圖A)呈現模式視圖(B),當用戶按下按鈕,視圖B本身有一個按鈕來呈現視圖C.我的問題是,如果用戶在顯示視圖B或C時退出應用程序,下次啓動應用程序時將出現相同的視圖。有沒有辦法在退出時關閉視圖B和C,或者在應用程序啓動時顯示視圖A? 感謝您的幫助關閉應用程序退出時的模式視圖控制器

回答

6

我假設你是指應用程序進入後臺時的意思。

在您的應用程序委託中,您可以通過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]; 
} 
+0

謝謝您的回答。我嘗試了你的解決方案,它工作。我還發現了另外一個簡單的解決方案,顯示出上(我也得到一個警告,當我編譯)主要觀點: - (空)applicationDidEnterBackground:(UIApplication的*)應用程序{ \t [自我presentModalViewController:viewController.view動畫:沒有]; } 乾杯 – Cyril 2010-08-17 05:50:14

相關問題