Клавиатура iPhone не будет отображаться после добавления uitextfield.inputView
У меня есть страница регистрации с кучей текстовых полей. Для некоторых из них я заменил inputView текстовых полей на UIPickerView, чтобы дать им выбор вариантов на выбор. После этого я столкнулся со странной проблемой. После того, как клавиатура или вид сборщика свернуты (касание фонового вида завершает редактирование), клавиатура (или вид сборщика) больше не отображается. Кажется, просто больше не всплывает. Возможно связанный... курсор, который мигает в текстовом поле, больше не появляется.
Причина, по которой я знаю, что текстовое поле "Активно" или признает, что его редактирование заключается в том, что контроллер View перемещает свой self.view, чтобы каждое текстовое поле находилось посередине (в случае, если его абсолютная позиция находится в нижней половине экрана), Таким образом, весь view-контроллер перемещается, но там он просто черный под self.view, когда он движется вверх. Я могу предоставить больше кода, где это необходимо, но я чувствую, что этот вопрос может быть более концептуальным.
// Add picker
picker = UIPickerView();
picker.frame = CGRect(x: 0, y: 0, width: self.view.frame.size.width, height: Globals.keyboardHeight())
picker.dataSource = self;
picker.delegate = self;
ethnicityTextfield.inputView = picker;
genderTextfield.inputView = picker;
eyeColorTextfield.inputView = picker;
hairColorTextfield.inputView = picker;
heightTextfield.inputView = picker;
1 ответ
Так что я нашел проблему, и на самом деле это не имело ничего общего с inputViews. Я назвал переменную в том же контроллере представления "firstResponder", и это, по-видимому, ограниченный термин. Подсветка синтаксиса и обнаружение ошибок не помечают это, хотя так потребовалось некоторое время, чтобы найти. Я надеюсь, что это помогает кому-то еще