2012-03-01 2 views
3

У меня есть модальный вид, созданный в методе (нет ссылки в mainview), и я хочу автоматически выполнять функцию cancelModalViewControllerAnimated, когда мое приложение входит в фоновое изображение. Как я могу это сделать ?Как закрыть модальный вид, когда приложение вводится в фоновом режиме на ios

ответ

9

В представлении mainviewDidLoad добавьте наблюдателя для уведомления, когда приложение перейдет на задний план.

- (void) viewDidLoad 
{ 
    [[NSNotificationCenter defaultCenter] addObserver:self 
     selector:@selector(goToBackground) 
     name:UIApplicationWillResignActiveNotification object:nil]; 
} 

Определить функцию goToBackground(). Он будет называться, когда приложение переходит в фоновый

- (void) goToBackground 
{ 
    [self dismissModalViewControllerAnimated: NO]; // no need to animate 
} 

Не забудьте удалить наблюдателю

- (void) dealloc 
{ 
    [[NSNotificationCenter defaultCenter] removeObserver:self]; 
} 
1

Вы можете использовать уведомление. Отправьте уведомление с помощью метода ApplicationDelegate applicationDidEnterBackground :. Вы можете вызвать метод увольнения из модального контроллера, поэтому добавьте его в качестве наблюдателя в центр уведомлений.