Sobes.tech
Back to questions
Junior
117
questionbank

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

Answer from AI

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)
}