Как отклонить 2 модальных контроллера представления по очереди?

Лучший ответ, который я видел для этой ситуации, описан в сообщении в блоге:

Android Secrets

Однако он воссоздает системные классы, которые private и вызывает AOSP-код, который не является общедоступным. Моя щедрость - лучший ответ, который не требует явного присвоения классов внутри проекта. Возможно, Smart Lock или другая огромная библиотека безопасности могут быть использованы для обратной совместимости, требуемой мне.

38
задан Sheehan Alam 11 July 2010 в 19:20
поделиться

3 ответа

Попробуйте использовать следующий код в B (сразу после удаления C, как вы уже делаете):

[self.parentViewController dismissModalViewControllerAnimated:YES];

ВАЖНО :
Не делайте ничего в методе после этой строки.
Этот контроллер представления (B), вероятно, будет освобожден и освобожден ...

ОБНОВЛЕНИЕ :
Начиная с iOS7, указанный выше метод устарел.
Вместо этого используйте следующий метод:

[self.parentViewController dismissViewControllerAnimated:YES completion:^{ /* do something when the animation is completed */ }];
9
ответ дан 27 November 2019 в 02:59
поделиться

Я нашел решение.

можно поместить эти ViewControllers внутренняя часть индивидуум NavigationController. И, чем отклоняют эти NavigationController, заставит весь эти ViewControllers отклонять сразу.

https://gist.github.com/ufo22940268/2949fdf59c9860292f263ebb1e8036d7

0
ответ дан Frank Cheng 27 November 2019 в 02:59
поделиться

Контроллер навигации имеет свойство "viewControllers", которое является массивом - вы можете установить его в новый массив за вычетом двух контроллеров представления, которые вы хотите удалить.

0
ответ дан 27 November 2019 в 02:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: