Я пытаюсь создать пользовательскую клавиатуру iOS, которая содержится в файлах BibleKeyboardView.swift
и BibleKeyboardView.xib
.Часть представления содержит несколько полей UITextField, которые я хочу ввести с помощью цифровых кнопок.Однако, когда я нажимаю на любое из полей UITextFields, клавиатура закрывается, а затем снова появляется, курсор никогда не остается в UITextField, а кнопки UIB ничего не делают.
Gif исчезающей клавиатуры /вновь появляющаяся проблема
Я попытался установить каждый из inputView = self
UITextField, но это только держало клавиатуру закрытой.Я также установил каждую цифровую кнопку в качестве клавиши клавиатуры в правом меню раскадровки.
Это мой код, но когда я пытаюсь его запустить, activeField
равен нулю и выдает ошибку Thread 1: Fatal error: Unexpectedly found nil while unwrapping an Optional value
.Код никогда не доходит до textFieldDidBeginEditing()
, потому что этот оператор печати не выполняется (на основе Как добавить текст в активный UITextField ).
activeField - ноль скриншот ошибки
class BibleKeyboardView: UIView, UITextFieldDelegate {
@IBOutlet weak var chapterA: UITextField!
@IBOutlet weak var verseA: UITextField!
@IBOutlet weak var chapterB: UITextField!
@IBOutlet weak var verseB: UITextField!
var activeField: UITextField?
override func awakeFromNib() {
super.awakeFromNib()
activeField?.delegate = self
}
func textFieldDidBeginEditing(_ textField: UITextField) {
activeField = textField
activeField?.inputView = self
print("made active field")
}
@IBAction func numBtnTapped(_ sender: UIButton) {
activeField!.text = activeField!.text! + (sender.titleLabel?.text!)!
}
Мечтаю, чтобы я мог вводить числа в каждый UITextField при нажатии на цифровую клавиатуру, которую я кодировал. Почему клавиатура продолжает исчезать и снова появляться, когда я нажимаю на UITextField?Почему textFieldDidBeginEditing не работает?