Currently, I have 6 textfields
that I am moving from one textfield
to the next, once a user clicks a number on the keypad.
The issue I am trying to solve is: If the user clicks the Delete Button
to go back to re-enter a different number, how do I code that in a program?
How do I have the user go back to type in a new number on the keypad and also change the textfield
back to its original code?
I would like for the user to be able to type in on the keypad one number in the 6 fields and then have the user be able to click the Delete Button
to go back and re-enter the number. I would like the user to have to click the Delete Button
.
Also, how do I get rid of the blinking blue line in the UItextfield
?
I have been stuck on this problem for awhile now and can't figure out how to solve this.
@objc func textFieldDidChange(textfield: UITextField) {
let text = textfield.text
if text?.utf16.count == 1 {
switch textfield {
case textfield1:
textfield1.backgroundColor = UIColor.black
textfield1.textColor = .white
textfield2.becomeFirstResponder()
textfield2.backgroundColor = UIColor.black
textfield2.textColor = .white
case textfield2:
textfield3.becomeFirstResponder()
textfield3.backgroundColor = UIColor.black
textfield3.textColor = .white
case textfield3:
textfield4.becomeFirstResponder()
textfield4.backgroundColor = UIColor.black
textfield4.textColor = .white
case textfield4:
textfield5.becomeFirstResponder()
textfield5.backgroundColor = UIColor.black
textfield5.textColor = .white
case textfield5:
textfield6.becomeFirstResponder()
textfield6.backgroundColor = UIColor.black
textfield6.textColor = .white
case textfield6:
textfield6.resignFirstResponder()
default:
break
}
}
else {
}
}
You can use this:
In this code you will never focus on the 1 letter of
UITextFields
instead you focus on 2 letters, if thesender.text.count
equals to 2 you set the second number for the nextUITextField
, and Ifsender.text.count
equals to zero it means user has deleted something (because we are inEditing Changed
event)and we should backward the cursor.And do everything you want for UI in the first statement of if.
It's a little messy but it works.