#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. можете ли вы показать фотографию того, что именно произойдет ?