Большой заголовок становится маленьким заголовком, когда вы возвращаетесь к контроллеру просмотра

#ios #swift #uikit

Вопрос:

У меня есть MainViewController с большим заголовком, табличным представлением и UISearchBarController в качестве элемента навигации. Когда я загружаю свое приложение, все отлично, но когда я перехожу к следующему контроллеру просмотра и обратно, я теряю свой большой заголовок, он становится маленьким заголовком.

В моем приложении я установил «UINavigationBar.appearance().prefersLargeTitles = true».

 class MainViewController: UIViewController {

 let searchController = HomeSearchController()

 override func viewDidLoad() {
        super.viewDidLoad()
  
        tableView.delegate = self
        tableView.dataSource = self

        navigationItem.hidesSearchBarWhenScrolling = false
        searchController.initSearchController()
        searchController.homeSearchDelegate = self
        navigationItem.searchController = searchController
   }
}

class HomeSearchController: UISearchController {

    .
    .
    .
    
    func initSearchController() {

        loadViewIfNeeded()
        searchResultsUpdater = self
        obscuresBackgroundDuringPresentation = false
        searchBar.enablesReturnKeyAutomatically = false
        definesPresentationContext = true        
    }
}
 

Я видел в аналогичных вопросах по stackoverflow, что ограничение tableview на верхнюю безопасную область может вызвать эту проблему, поэтому я изменил ограничение на superview. Но я пробовал разные варианты, и это не помогло.

Это моя настройка просмотра таблицы введите описание изображения здесь

И это мои настройки контроллера просмотра введите описание изображения здесь

Я частично достиг своей цели, когда изменил navigationItem.hidesSearchBarWhenScrolling = false на true. Я сказал частично, потому что в этой ситуации мне нужно было прокрутить, чтобы панель поиска стала видимой.

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

1. можете ли вы показать фотографию того, что именно произойдет ?