У меня есть контроллер представления (представление A), представляющий модальное представление (B), когда пользователь нажал кнопку, а представление B имеет кнопку для представления представления C. Моя проблема заключается в том, что если пользователь выходит из приложения, когда представление B или C, такое же представление появится при следующем запуске приложения. Есть ли способ закрыть представления B и C при выходе или показать представление A при запуске приложения? Спасибо за вашу помощь
Закрыть контроллер модального представления при выходе из приложения
Ответы (1)
Я предполагаю, что под закрытием вы имеете в виду, когда приложение переходит в фоновый режим.
В вашем делегате приложения вы можете с помощью метода 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];
}
person
vakio
schedule
16.08.2010
Спасибо за Ваш ответ. Я попробовал ваше решение, и оно работает. Я также нашел другое более простое решение, отображающее основное представление при выходе (также я получаю предупреждение при компиляции): - (void)applicationDidEnterBackground:(UIApplication *)application { [self presentModalViewController:viewController.viewanimated:NO]; } Ваше здоровье
- person Cyril; 17.08.2010