В xcode 9, когда я открываю панель поиска, она автоматически перемещает остальную часть пользовательского интерфейса вниз. Когда я пытаюсь удалить панель поиска из поля зрения, я получаю черное пространство вместо исправления пользовательского интерфейса. Строка, которую я использую: self.navigationItem.searchController = nil. Я пробовал много вещей, но я не знаю, как исправить пользовательский интерфейс после удаления панели поиска. Только когда я перехожу к другому контроллеру представления и обратно, пользовательский интерфейс снова становится правильным без панели поиска. Что мне здесь не хватает?
код:
@IBAction func searchIconPressed(_ sender: UIBarButtonItem) {
//ios 11
if #available(iOS 11.0, *) {
if self.navigationItem.searchController == nil {
self.navigationItem.searchController = self.searchController
self.searchController.isActive = true
}
else {
self.navigationItem.searchController?.isActive = false
self.navigationItem.searchController = nil
}
}
//when ios 9-10
else {
if self.navigationItem.titleView == nil {
self.navigationItem.titleView = self.searchController.searchBar
self.searchController.isActive = true
}
else {
self.navigationItem.titleView = nil
}
}
}
}