Ответ
Для перехода на следующий экран в стеке навигации используется метод pushViewController(_:animated:).
Как это работает:
Метод помещает новый контроллер (UIViewController) на вершину стека навигации, что приводит к анимированному переходу (обычно сдвиг справа налево).
Пример базового использования:
// 1. Создаем экземпляр следующего контроллера
let detailViewController = DetailViewController()
// 2. Выполняем переход
navigationController?.pushViewController(detailViewController, animated: true)
Критические нюансы:
- Метод доступен только если текущий
UIViewControllerвстроен вUINavigationController(свойствоnavigationControllerнеnil). - Параметр
animatedуправляет анимацией перехода. Установкаfalseполезна для программной настройки стека без визуальных эффектов. - Для возврата назад используется метод
popViewController(animated:). - Для сложных сценариев (например, сброс стека или вставка нескольких контроллеров) используйте
setViewControllers(_:animated:).