UITextField,使用Swift 2自动移动到下一个字符后1
我有4个UITextFields。输入完一个字符后,我希望下一个UITextField
自动变为活动状态,而不必按next
。UITextField,使用Swift 2自动移动到下一个字符后1
我正在使用Swift 2
任何想法?
要选择下一个textField,必须指定第一个响应者。您可以使用textField的委托方法来确定文本字段何时应该变为活动状态。
首先为每个UITextField
设置不同的标签。然后添加UIControlEvents.editingChanged
方法。
当您连接@IBOutlet
S和@IBAction
s的您的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()
}
}
}
}
如果您将它们全部连接到相同的操作,则无需标记它们。只需'切换发件人'并检查案例textField1:' –
@LeoDabus your're的权利。我更新了我的答案。 – krlb
你也可以检查'如果sender.hasText' –
'resignFirstResponder'为currentTextField和使用'becomeFirstResponder'您要为主动 –
文本框增强语法 – Fabien