Отключить модальный контроллер вида при выходе из приложения - PullRequest
1 голос
/ 16 августа 2010

У меня есть контроллер вида (вид A), представляющий модальный вид (B), когда пользователь нажал кнопку, и вид B сам имеет кнопку для представления вида C. Моя проблема в том, что если пользователь выходит из приложения, когда отображается вид B или C, такой же вид появится при следующем запуске приложения. Есть ли способ закрыть представления B и C при выходе или показать представление A при запуске приложения? Спасибо за вашу помощь

1 Ответ

6 голосов
/ 16 августа 2010

Полагаю, что вы имеете в виду, когда приложение входит в фоновый режим.

В вашем приложении делегат вы можете через 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];
}
...