Ответ
В iOS (UIKit) есть три основных паттерна для отображения новых экранов:
1. Модальный показ (Present Modally)
Контроллер отображается поверх текущего контекста, временно перехватывая взаимодействие.
let modalVC = ModalViewController()
modalVC.modalPresentationStyle = .pageSheet // Стиль презентации
present(modalVC, animated: true)
Стили: .fullScreen, .pageSheet, .formSheet, .popover.
2. Навигация через стек (Push/Pop)
Использует UINavigationController для управления иерархией экранов.
// Переход вперед
navigationController?.pushViewController(nextVC, animated: true)
// Возврат назад
navigationController?.popViewController(animated: true)
3. Замена корневого контроллера окна
Полная смена пользовательского интерфейса приложения (например, после логина).
window?.rootViewController = newRootViewController
Дополнительные механизмы:
UISplitViewController: Для master-detail интерфейсов (iPad).UITabBarController: Переключение между независимыми разделами приложения.- Кастомные переходы: Реализация протокола
UIViewControllerTransitioningDelegateдля нестандартных анимаций.