UITextField,使用Swift 2自动移动到1个字符后的下一个

时间:2017-08-15 13:13:25

标签: ios swift swift2 uitextfield

我有4个UITextFields。输入一个字符后,我希望下一个UITextField自动生效,而不必按next

我正在使用Swift 2

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

要选择下一个textField,您必须分配第一个Responder。您可以使用textField的委托方法来确定文本字段何时应变为活动状态。

答案 1 :(得分:0)

首先为每个UITextField设置不同的标记。然后添加UIControlEvents.editingChanged方法。

当您将@IBOutlet@IBAction与xib文件连接起来时,您会得到如下内容:

class ViewController: UIViewController {

      @IBOutlet weak var textField1: UITextField!
      @IBOutlet weak var textField2: UITextField!
      @IBOutlet weak var textField3: UITextField!
      @IBOutlet weak var textField4: UITextField!

      @IBAction func textChanged(_ sender: UITextField) {
          if sender.hasText {
             switch sender {
             case textField1:
                textField2.becomeFirstResponder()
             case textField2:
                textField3.becomeFirstResponder()
             case textField3:
                textField4.becomeFirstResponder()
             default:
                sender.resignFirstResponder()
             }
          }
      }

  }