I have four textField
s and each takes only one character, similar to the lock screen. I can input and move from one textField
to next textField
.
Problem is when I want to delete and move to previous textField
, I don't know when the delete button is clicked.
I'm using:
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool
to input and move from one textField
to another.
How do I know when the delete key is pressed?
There is a possible solution in this answer to a similar question. You can subclass your UITextField and then override this method in your subclass:
Event this code is in Objective-C, it should show you the proper use of this method.
Following up Istvan answer, you need to post a notification when the deleteBackward is pressed:
Then inside viewDidLoad() you add an observer as follow:
and your method:
Select your text field and connect it to your DigitField
You need to connect each text field to an IBAction (using sent events editing changed)
The view controller code should look like this:
I hope my answer will help you:
Use
replacementString
in function to know whats happening in UItextFieldSubclass UITextField as follows:
Then change the class of your text field to MyTextField. That should do it!