Intereting Posts
iOS: Может ли устройство BLE (а не iBeacon) пробудить мое приложение? Используя раскадровки для навигации по сложному набору представлений, разматывать segue недостаточно Печать на Виртуальный принтер Google с использованием iOS Перетаскивание изображения, мерцающего прикосновением UITableView – UIRefreshControl с фоновым изображением CoreData для доступа к объектам в разных моделях Как включить новый контроллер просмотра в существующее навигационное представление iPhone странная ошибка Какой самый эффективный способ в iOS проверить, является ли строка одним из списка строк? Базовые данные двоичных данных Разрешить внешнее хранилище отображение элементов массива в табличном представлении с быстрым Как распознать Человеческое лицо от изображения (-ов) в iPhone / Ipad? Является ли хорошей практикой для проекта iOS инициализировать все UIViewController и UIView, необходимые в проекте? есть ли кто-нибудь успешно использовать valgrind для проверки проблем памяти для iOS? Базовое позиционирование для устройств в SpriteKit

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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