UISearchDisplayController не отображает клавиатуру при касании области текста

У меня есть UITableView в контроллере, который вложен под UITabBar .

Взаимодействие все подключено в Interface Builder до сих пор, ничего не делается программно с точки зрения переключения вида.

Я добавил UISearchDisplayController в качестве заголовка моего UITableView. Он отображается нормально, и когда я нажимаю на область ввода текста, появляется кнопка отмены, и черная оверлейка влетает.

Однако клавиатура никогда не появляется, а при нажатии кнопки отмены наложение вылетает, и кнопка отмены исчезает, но область ввода текста сохраняет фокус, и карет остается там мигающим, поэтому я не могу снова нажать там, чтобы повторно отобразить результаты поиска ,

Поэтому у меня есть две проблемы:

  1. Клавиатура не появляется при запуске редактирования текста в UISearchBar из UISearchDisplayController

  2. UISearchBar не теряет фокус при нажатии кнопки отмены.

Что я делаю не так?

Файл .xib котором была моя панель вкладок, содержала UIWindow.

Это привело к разным сумасшествиям и, в конце концов, я отказался от попыток сделать это с помощью построителя интерфейсов и прибегнул к созданию кода UITabBar в коде, тем самым не создавая второго UIWindow.

Это разрешило проблемы, и UISearchDisplayController вел себя правильно.

проверьте этот метод в UISearchBarDelegate :

 - (void)searchBarCancelButtonClicked:(UISearchBar *) searchBar; 

Попытайтесь узнать, вызвано ли это вызовом и с ним связано с клавиатурой. Если нет, попробуйте сделать еще один UISearchDisplayController . (На самом деле я никогда не использую по умолчанию viewController). Кроме того, убедитесь, что делегат правильно установлен.