Как закрыть модальное представление при входе приложения в фоновый режим на ios - PullRequest
3 голосов
/ 01 марта 2012

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

Ответы [ 2 ]

9 голосов
/ 02 марта 2012

В viewDidLoad основного представления добавьте наблюдателя, чтобы получать уведомления, когда приложение переходит в фоновый режим.

- (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 голос
/ 01 марта 2012

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

...