Активировать UISearchBar при загрузке контроллера

113
9

У меня есть следующий SearchController:

class SearchController: UITableViewController, UISearchResultsUpdating

Реализация работает хорошо, но я должен нажать на панель поиска, чтобы начать поиск каждый раз, когда я загружаю контроллер. Я хотел бы активировать панель поиска после загрузки SearchController. Я пробовал:

override func viewDidLoad() {
super.viewDidLoad()

...
...

self.resultSearchController.searchBar.becomeFirstResponder()
}

Я также пробовал:

override func viewDidAppear(animated: Bool) {
self.resultSearchController.searchBar.becomeFirstResponder()
}

Но панель поиска остается деактивированной, и клавиатура не будет отображаться. Что мне не хватает? Благодарю!

спросил(а) 2016-02-21T22:27:00+03:00 4 года, 7 месяцев назад
1
Решение
57

Это работает (не уверен, почему он не работает для вас):

class ViewController: UIViewController {

let mySearchController = UISearchController(searchResultsController: nil)

override func viewDidLoad() {
super.viewDidLoad()
navigationItem.titleView = mySearchController.searchBar
mySearchController.hidesNavigationBarDuringPresentation = false
mySearchController.searchBar.becomeFirstResponder()
}
}

ответил(а) 2016-02-21T22:44:00+03:00 4 года, 7 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема