У меня есть табличное представление, в котором я добавил контроллер поиска, поставив следующее в класс представления таблиц, который я обязательно добавил в определении класса UISearchBarDelegate
.UISearchBar не отображается на устройстве, но отображается в симуляторе
let searchDisplay = UISearchController(searchResultsController: nil)
Тогда в моей функции viewDidLoad я вошел в это:
searchDisplay.searchResultsUpdater = self
searchDisplay.dimsBackgroundDuringPresentation = false
definesPresentationContext = true
tableView.tableHeaderView = searchDisplay.searchBar
Я тогда функции, которые получают необходимые данные в зависимости от того, что обыск.
добавил Кроме того, это после того, как класс, но в том же файле:
extension AllTableViewController: UISearchResultsUpdating{
func updateSearchResultsForSearchController(searchDisplay: UISearchController) {
filterContentForSearchText(searchDisplay.searchBar.text!)
}
}
Как я уже говорил в названии кода все, кажется, бежит гладко в тренажере, но когда я запускаю его на устройстве панели поиска просто не появляется. В окне вывода нет сообщений, поэтому я не знаю, с чего начать.
Вы пробовали вызов 'sizeToFit' в строке поиска? – keithbhunter
Вау, спасибо. Как я пропустил это, искал веки, и я даже не подумал об этом. – kni9ht