NavigationControllers имеют стеки ViewController для управления и ограниченных переходов анимации.
Добавление контроллера вида в качестве подзадача к существующему контроллеру представления требует передачи событий в контроллер подзадачи, который является болью для управления, загружается с небольшими раздражениями и в целом чувствует себя плохой взлом при реализации (Apple также рекомендует не делать этого).
Представление контроллера модального представления снова помещает контроллер представлений поверх другого, и, хотя у него нет проблем с передачей событий, описанных выше, он на самом деле не "свопит" на контроллер представления, он складывает его.
Раскадровки ограничены iOS 5 и почти идеальны, но не могут использоваться во всех проектах.
Может ли кто-нибудь представить пример SOLID CODE EXAMPLE на способ изменения контроллеров представлений без вышеуказанных ограничений и позволяет анимированные переходы между ними?
Близкий пример, но без анимации: Как использовать несколько пользовательских контроллеров iOS без контроллера навигации
Изменить: использование Nav Control прекрасно, но должны быть анимированные стили перехода (а не только эффекты слайдов), отображаемый контроллер просмотра должен быть полностью заменен (не сложены). Если второй контроллер представления должен удалить из стека другой контроллер представления, он не будет инкапсулирован достаточно.
Изменить 2: iOS 4 должен быть базовой ОС для этого вопроса, я должен был уточнить, что при упоминании раскадровки (выше).