Проблемы с iPad, UITextView и firstResponder - PullRequest
1 голос
/ 05 ноября 2010

Я пишу универсальное приложение для iOS, которое представляет собой компонент для ввода текста.Когда отображается представление с UITextView в нем, я вызываю [UITextView intoFirstResponder], чтобы всплыла клавиатура.Когда пользователь нажимает «Готово / Сохранить», контроллер представления вызывает всплывающее окно на своем навигационном контроллере, и клавиатура должна автоматически исчезнуть.

Это прекрасно работает на iPhone / iPod touch, но наIPad, клавиатура остается вверх, с аксессуаром, даже после того, как вид выскочил.Я перепробовал все: проверку утечек с помощью инструментов, статический анализатор, явный вызов [UITextView resignFirstResponder] несколько раз, кучу снимков, и неважно, что я не могу заставить клавиатуру исчезнуть после нажатия контроллера представления или выяснить, почемучерт возьми, это не будетЭто огромная проблема, потому что «предыдущий» контроллер представления в иерархии UINavigationController не имеет текстового поля, а вспомогательное представление остается поверх клавиатуры, а когда нажимаются кнопки на нем, они отправляют сообщения в освобожденное представлениеконтроллер, вызывающий сбой.

Единственное отличие, которое я могу назвать между версией iPhone / iPad, заключается в том, что версия iPhone, конечно, представляет контроллер навигации модально на весь экран, тогда как на iPad - контроллер навигациипредставлен в UIModalPresentationFormSheet.

Надеюсь, этого достаточно, чтобы кто-то смог диагностировать проблему.Если это не так, я опубликую пример проекта.

1 Ответ

2 голосов
/ 05 ноября 2010

Если я правильно помню, клавиатура всегда отображается, пока что-то представлено в UIModalPresentationFormSheet. Попробуйте что-то другое и посмотрите, сработает ли это.

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