Я занимаюсь разработкой приложения для обмена сообщениями с интерфейсом, подобным SMS.app.Экран беседы имеет поле ввода текста внизу, которое перемещается вверх с помощью клавиатуры.Нажатие на область разговора закрывает клавиатуру, вызывая метод resignFirstResponder для используемого нами UITextView.
Обычно это работает нормально, но пользователи сообщают о странной ошибке, которую я не могу воспроизвести и исправить.Люди говорят, что иногда экранная клавиатура не исчезает при нажатии на область разговора, хотя поле ввода текста теряет фокус ввода.Как только представление входит в это ненормальное состояние, пользователи могут печатать с клавиатуры, но вводимый текст нигде не виден.Эта ошибка возникает в одном из представлений беседы, и с тех пор ни одно поле ввода текста в других представлениях не работает должным образом.Единственный способ остановить это странное поведение - убить приложение с панели многозадачности.
Еще более странная вещь - это то, что клавиатура остается видимой при навигации между контроллерами представления в UINavigationController.Я заметил две вещи: