Необходимо отображать заголовок навигации при использовании панели поиска в панели навигации

#swift #uinavigationbar #uisearchbar

#swift #uinavigationbar #панель пользовательского поиска

Вопрос:

Мне нужно отображать большой заголовок навигации при поиске с помощью SearchBar, но когда я нажимаю на панель поиска или начинаю вводить, мой заголовок навигации заменяется на SearchBar. Я проверил методы для navigationItem и не нашел ни одного подходящего.

Кто-нибудь знает, как мы можем всегда показывать заголовок, даже во время поиска? Вот мой код

     class FavouriteVC: UIViewController {
        let searchController = UISearchController(searchResultsController: nil)
        
        override func viewDidLoad() {
            super.viewDidLoad()
            
            view.backgroundColor = .white
            
            navigationController?.navigationBar.prefersLargeTitles = true
            navigationItem.title = "Favourite"
            navigationItem.searchController = searchController
            navigationItem.largeTitleDisplayMode = .always
        }
    }
  

И вот снимки
экран с навигационным заголовком
экран без навигационного заголовка

Комментарии:

1. Привет! Если я не ошибаюсь, мой ответ должен сработать для вас.

Ответ №1:

Похоже, UISearchController имеет hidesNavigationBarDuringPresentation , который предотвращает скрытие панели навигации при установке на false

Включить:

 searchController.hidesNavigationBarDuringPresentation = false
  

на вашем viewDidLoad и, если я правильно понял вашу проблему, это должно сделать то, что вам нужно.