UISearchBar завершает редактирование, скрывает клавиатуру, но экран по-прежнему затемнен - PullRequest
0 голосов
/ 04 июля 2019

У меня есть контроллер представления, в котором я динамически создаю UISearchController и назначаю его для self.navigationItem.searchController.

class MyViewController: UIViewController, UISearchBarDelegate {
    let searchController = UISearchController(searchResultsController: nil)

override func viewDidLoad() {
        super.viewDidLoad()

        navigationItem.searchController = searchController
        searchController.searchBar.delegate = self

        // launch the app directly into this search text box
        searchController.searchBar.becomeFirstResponder()
    }

    func searchBarShouldEndEditing(_ searchBar: UISearchBar) -> Bool {
       // I tried this
       searchBar.resignFirstResponder()
       // and this
       searchBar.endEditing(true)
       // and finally this
       return true
   }

}

Клавиатура прячется, когда пользователь касается любого места за пределами панели поиска, и экран возвращается к своей яркости. Это ожидаемое поведение.

Однако, когда пользователь нажимает кнопку [Поиск] на экранной клавиатуре, клавиатура отключается, но экран остается тусклым. Ни один из подвидов не может быть использован, за исключением того, что пользователь снова нажимает на строку поиска, а затем клавиатура возвращается.

Короче говоря, единственный способ для пользователя продолжать использовать контроллер представления - это не нажимать кнопку [поиск], что нелогично.

я что-то упустил?

1 Ответ

1 голос
/ 04 июля 2019

В viewDidLoad () добавьте следующую строку:

searchController.obscuresBackgroundDuringPresentation = false

Из документации: если вы используете один и тот же контроллер представления для отображения контента с возможностью поиска и результатов поиска, рекомендуется установить для этого свойства значение false. Значение по умолчанию этого свойства - true.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...