0

I have used these code for moving the cursor from one to another UITextField i.e.

tField1 -> tField2 -> tField3 -> tField4

But I want to move reverse on delete textField

tField4(deleted)-> tField3(move cursor without clear text)
tField3(deletd)-> tField2(move cursor without clear text)

and so on... When I use becomeFirstResponder() it clear text

override func viewDidLoad() {
    super.viewDidLoad()
    tField1.addTarget(self, action: #selector(self.textFieldDidChange(textField:)), for: UIControlEvents.editingChanged)
    tField2.addTarget(self, action: #selector(self.textFieldDidChange(textField:)), for: UIControlEvents.editingChanged)
    tField3.addTarget(self, action: #selector(self.textFieldDidChange(textField:)), for: UIControlEvents.editingChanged)
    tField4.addTarget(self, action: #selector(self.textFieldDidChange(textField:)), for: UIControlEvents.editingChanged)
}


override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    tField1.becomeFirstResponder()
}

@objc func textFieldDidChange(textField: UITextField) {
    let text = textField.text
    if text?.utf16.count == 1{
        switch textField{

        case tField1:
            tField2.becomeFirstResponder()

        case tField2:
            tField3.becomeFirstResponder()

        case tField3:
            tField4.becomeFirstResponder()

        case tField4:
            tField1.becomeFirstResponder()

        default: break
        }
    }
}
Keyur Potdar
  • 6,949
  • 6
  • 25
  • 39
Jaykant
  • 219
  • 4
  • 9
  • Why is the text field clearing when it becomes first responder? Do you have some code that does that? It won't happen normally. – rmaddy Mar 08 '18 at 04:18
  • Check in your storyboard if the textField in question has the `clear when editing begins` option checked – Malik Mar 08 '18 at 04:21
  • @rmaddy OP wants to go back to the previous field when deleting a character from the current field. – Leo Dabus Mar 08 '18 at 05:37
  • @LeoDabus Yes, I know. My first comment is due to the OP stating: *"When I use becomeFirstResponder() it clear text"*. – rmaddy Mar 08 '18 at 05:39
  • possible duplicate of https://stackoverflow.com/a/29916280/2303865 – Leo Dabus Mar 08 '18 at 05:42

0 Answers0