Как сделать так, чтобы Navigation Bar не исчезал при segue?

В Swift для того чтобы Navigation Bar не исчезал при переходе (segue) на другой экран, вы можете использовать следующий подход:

1. Создайте подкласс для UINavigationController, чтобы вы могли контролировать поведение Navigation Bar для всех экранов, связанных с ним. Для этого вы можете создать новый файл Swift и назвать его "CustomNavigationController".

2. Внутри файла CustomNavigationController реализуйте метод viewWillAppear(_:) и метод viewWillDisappear(_:), чтобы управлять видимостью Navigation Bar перед и после перехода на другой экран. Вот пример кода:

import UIKit

class CustomNavigationController: UINavigationController {

    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        // Установите видимость Navigation Bar на экране, перед появлением нового экрана
        navigationBar.isHidden = false
    }

    override func viewWillDisappear(_ animated: Bool) {
        super.viewWillDisappear(animated)
        // Установите видимость Navigation Bar на экране, перед исчезновением текущего экрана
        navigationBar.isHidden = true
    }
}

3. В файле AppDelegate.swift найдите метод application(_:didFinishLaunchingWithOptions:) и измените создание объекта UINavigationController, чтобы он использовал ваш класс CustomNavigationController вместо стандартного UINavigationController. Например:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    // Создайте экземпляр вашего класса CustomNavigationController вместо стандартного UINavigationController
    let navigationController = CustomNavigationController(rootViewController: YourRootViewController())
    // Установите его в качестве корневого контроллера окна
    window?.rootViewController = navigationController
    return true
}

После внесения этих изменений, Navigation Bar будет оставаться видимым при переходе между экранами с помощью segue. Обратите внимание, что данный подход контролирует видимость Navigation Bar для всех экранов, связанных с UINavigationController, что может быть полезно в случае, если вы хотите иметь единообразное поведение Navigation Bar во всем приложении.