У меня есть страница регистрации с кучей текстовых полей. Для некоторых из них я заменил текстовые поля inputView на UIPickerView, чтобы дать им выбор вариантов на выбор. После реализации этого я столкнулся со странной проблемой. После того, как клавиатура или окно выбора свернуты (прикосновение к фоновому представлению завершает редактирование), клавиатура (или окно выбора) больше не отображается. Кажется, просто больше не всплывает. Возможно, это связано... курсор, который мигает в текстовом поле, больше не появляется.
Причина, по которой я знаю, что текстовое поле является «активным» или распознает его редактирование, заключается в том, что контроллер представления перемещает свой self.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;