Неудобная анимация контроллера поиска при раскручивании для просмотра со скрытой панелью навигации - PullRequest
0 голосов
/ 14 марта 2019

Итак, я следую этому учебнику по 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)
}
...