Назад к вопросам
Junior
75
questionbank

Что нужно вызвать, чтобы вернуться к предыдущему экрану в navigation controller?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

Нужно вызвать метод стека навигационного контроллера.

// В UIViewController, который находится в стеке navigation controller
navigationController?.popViewController(animated: true)

Альтернативно, если нужно выйти не на один, а на несколько экранов назад:

// Вернуться к корневому контроллеру
navigationController?.popToRootViewController(animated: true)

// Вернуться к конкретному контроллеру в стеке
// Предполагается, что someViewController находится в стеке навигации
if let index = navigationController?.viewControllers.firstIndex(where: { $0 === someViewController }) {
    let targetViewController = navigationController!.viewControllers[index]
    navigationController?.popToViewController(targetViewController, animated: true)
}