0

Я работаю с SearchBar на прошивке 7. В моем ViewController, я написал этот код в viewDidLoad()Preload UISearchBar Показать результаты по щелчку + Swift

searchDisplay = UISearchDisplayController(searchBar: self.searchBar, contentsController: self) 
searchDisplay?.searchResultsDataSource = self 
searchDisplay?.searchResultsDelegate = self 

Когда я нажимаю текстовое поле поиска, вид изменяется и это то, что я вижу

enter image description here

только когда я начинаю печатать, я вижу строки, как показано ниже:

enter image description here

Вопрос: Я хочу предварительно загрузить результаты поиска, когда я сначала нажму текстовое поле поиска. Как я могу это сделать?

  • Я не хочу передавать " ". Это предварительно загрузило результаты поиска, но когда пользователь нажмет кнопку «Назад», вид выглядит как Изображение 1
  • Есть ли способ переопределить панель поиска. Если да, то может ли кто-нибудь вести меня, как действовать дальше. Я ищу руководство & не точный код.

Отладка показывает методы DataSource называются трижды, но ничего не отображаются при нажатии кнопки панели поиска текстового поля

Я использую IOS 7 и Xcode 7. Просьбы помочь, где я не права ...

+0

В какой форме вы бы хотели позвонить в код "updateSearch"? –

+0

Теперь его жестко закодировано в количестве строк и элементов на пути индекса – Sategroup

ответ

0

Я не совсем уверен, что вы хотите сделать точно, но вот в отношениях ваш вопрос может быть, возможно, ответил:

Первое:

Эта функция вызывается, когда пользователь нажимает на searchBar. Вы можете использовать его, чтобы редактировать SearchBar себя, чтобы начать поиск с другим одним или вы звоните self.tableView.reloadData():

func searchBarShouldBeginEditing(_ searchBar: UISearchBar) -> Bool{ 

} 

Второе:

возвращение пустой UITableViewCell если SearchText = "", чтобы иметь строку в таблицеView:

if searchBar.text == ""{ 
return UITableViewCell() 
} 
+0

Пробовал ли вы код, предоставленный вами, потому что он не работает – Sategroup