я пытаюсь разработать текстовое поле, переключающееся с 1 на другое автоматически, точно так же я могу переключить текстовое поле назад , но в нулевом состоянии я не могу переключить курсор в предыдущее текстовое поле, я пытался с EditingChange событием, но когда текстовое поле в нулевом состоянии функция изменения Editng не запускается.
Код является :
@IBAction func textFieldEditingChanged(_ sender: UITextField) {
if(sender.text?.characters.count == 1) {
switch sender {
case otpField1:
otpField2.becomeFirstResponder()
case otpField2:
otpField3.becomeFirstResponder()
case otpField3:
otpField4.becomeFirstResponder()
case otpField4:
otpField4.resignFirstResponder()
default:
break
}
}else {
}
if ((sender.text?.characters.count)! <= 0 || sender.text! == "" || sender.text?.isEmpty == true) {
switch sender {
case otpField4:
otpField3.becomeFirstResponder()
case otpField3:
otpField2.becomeFirstResponder()
case otpField2:
otpField1.becomeFirstResponder()
case otpField1:
otpField1.resignFirstResponder()
default:
break
}
}
}
Для того чтобы найти
UITextField
пустое вы можете использоватьisEmpty
String
.Так вот оно будет:
Как я буду использовать это
Надеется, что это решит вашу проблему.
Вместо того, чтобы реализовать делегат textfield
shouldChangeCharactersInRange
и проверить там, вероятно, нужно проверить на ноль и некоторые другие вещи, но это идея:Вы можете найти с условием, как