简体   繁体   English

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

[英]UITextField, automatically move to next after 1 character using Swift 2

I have 4 UITextFields. 我有4个UITextFields。 After I enter the one character, I want the next UITextField to become active automatically, without having to press next . 输入一个字符后,我希望下一个UITextField自动激活,而不必按next

I'm using Swift 2 我正在使用Swift 2

Any idea? 任何想法?

To select the next textField you have to assign the first Responder. 要选择下一个textField,您必须分配第一个响应者。 You can use the delegate methods of the textField to determine when the textfield should become active. 您可以使用textField的委托方法来确定何时应激活该textfield。

First set different tag for each UITextField . 首先为每个UITextField设置不同的标签。 Then add UIControlEvents.editingChanged method. 然后添加UIControlEvents.editingChanged方法。

When you connect @IBOutlet s and @IBAction s with your xib file, you'll get something like something like: 当您将@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()
             }
          }
      }

  }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM