Лучший ответ, который я видел для этой ситуации, описан в сообщении в блоге:
Однако он воссоздает системные классы, которые private и вызывает AOSP-код, который не является общедоступным. Моя щедрость - лучший ответ, который не требует явного присвоения классов внутри проекта. Возможно, Smart Lock или другая огромная библиотека безопасности могут быть использованы для обратной совместимости, требуемой мне.
Попробуйте использовать следующий код в B (сразу после удаления C, как вы уже делаете):
[self.parentViewController dismissModalViewControllerAnimated:YES];
ВАЖНО :
Не делайте ничего в методе после этой строки.
Этот контроллер представления (B), вероятно, будет освобожден и освобожден ...
ОБНОВЛЕНИЕ :
Начиная с iOS7, указанный выше метод устарел.
Вместо этого используйте следующий метод:
[self.parentViewController dismissViewControllerAnimated:YES completion:^{ /* do something when the animation is completed */ }];
Я нашел решение.
можно поместить эти ViewControllers
внутренняя часть индивидуум NavigationController
. И, чем отклоняют эти NavigationController
, заставит весь эти ViewControllers
отклонять сразу.
https://gist.github.com/ufo22940268/2949fdf59c9860292f263ebb1e8036d7
Контроллер навигации имеет свойство "viewControllers", которое является массивом - вы можете установить его в новый массив за вычетом двух контроллеров представления, которые вы хотите удалить.