Итак, я следую этому учебнику по UISearchController и немного его изменил. Я создал RedViewController
перед SearchViewController
, в котором скрыта панель навигации. Как вы можете видеть из анимации, раскручивание от SearchViewController
до RedViewController
не подходит для панели поиска. Кроме того, если вы не завершите сеанс раскрутки (проведя назад, затем вперед), вся строка поиска исчезнет. Я попытался отключить контроллер поиска на viewWillDisappear
, но это не сработало.
Анимация
SearchViewController:
override func viewDidLoad() {
super.viewDidLoad()
searchController.searchResultsUpdater = self
searchController.obscuresBackgroundDuringPresentation = false
searchController.searchBar.placeholder = "Search Candies"
navigationItem.searchController = searchController
definesPresentationContext = true
}
override func viewWillDisappear(_ animated: Bool) {
navigationItem.searchController?.dismiss(animated: false)
}
RedViewController:
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
navigationController?.setNavigationBarHidden(true, animated: animated)
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
navigationController?.setNavigationBarHidden(false, animated: animated)
}