Мне нужна небольшая помощь по проблеме с навигационными контроллерами.
У меня navigationController
с нажатием 4 ViewControllers
.Последний vc, который я нажимаю, представляет еще ViewController
модально.Модал ViewController
представляет ActionSheet
.В зависимости от ответа пользователя я либо отклоняю только модальный ViewController
, либо хочу вернуться к корню ViewController
.
В ViewController
, представленном модально, у меня есть:
- (void) dismissGameReport
{
[[self delegate] GameReportModalWillBeDismissed:modalToPopToRoot];
}
В последнем ViewController
, помещенном в стек navigationController
, у меня есть:
- (void)GameReportModalWillBeDismissed: (BOOL)popToRoot;
{
if (popToRoot)
{
[self.navigationController popToRootViewControllerAnimated:NO];
}
else
{
[self dismissModalViewControllerAnimated:YES];
}
}
Увольнение контроллера модального вида работает нормально.Однако
[self.navigationController popToRootViewControllerAnimated:NO];
не заставляет корень ViewController
отображать свои представления.Добавляя некоторую информацию журнала, я вижу, что после сообщения на self.navigationController
стек корректно выталкивается, но выполнение продолжается последовательно.На экране все еще отображается вид модального ViewController.
В качестве обходного пути я всегда пытался отклонить модальный контроллер вида, и в методе ViewWillAppear
было сообщение popToRootAnimated
.Нет разницы.Все еще стек контроллеров выталкивается, но на экране продолжает отображаться вид контроллера моего модального представления, и выполнение продолжается последовательно.
Может кто-нибудь помочь мне, пожалуйста?