本文介绍了如何以编程方式在swift ios中自动将光标从一个文本字段移动到另一个文本字段?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
func textFieldDidBeginEditing(textField: UITextField) {
scrlView.setContentOffset(CGPointMake(0, textField.frame.origin.y-70), animated: true)
if(textField == firstDigit){
textField.becomeFirstResponder()
secondDigit.resignFirstResponder()
}
else if(textField == secondDigit){
textField.becomeFirstResponder()
thirdDigit.resignFirstResponder()
}
else if(textField == thirdDigit){
//textField.becomeFirstResponder()
fourthDigit.becomeFirstResponder()
}
我使用四个文本字段进行OTP输入,其中一次只能输入一个数字。输入数字后,我需要将光标自动移动到下一个文本字段。
I am using four textfields for OTP entry in which only one number can be entered at a time. After entering the number I need to move the cursor automatically to next textfield.
推荐答案设置textField委托并添加目标:
Set textField delegate and add target:
override func viewDidLoad() { super.viewDidLoad() first.delegate = self second.delegate = self third.delegate = self fourth.delegate = self first.addTarget(self, action: "textFieldDidChange:", forControlEvents: UIControlEvents.EditingChanged) second.addTarget(self, action: "textFieldDidChange:", forControlEvents: UIControlEvents.EditingChanged) third.addTarget(self, action: "textFieldDidChange:", forControlEvents: UIControlEvents.EditingChanged) fourth.addTarget(self, action: "textFieldDidChange:", forControlEvents: UIControlEvents.EditingChanged) }现在文字更改时更改textField
Now when text changes change textField
func textFieldDidChange(textField: UITextField){ let text = textField.text if text?.utf16.count >= 1{ switch textField{ case first: second.becomeFirstResponder() case second: third.becomeFirstResponder() case third: fourth.becomeFirstResponder() case fourth: fourth.resignFirstResponder() default: break } }else{ } }最后当用户开始编辑清除textField
And lastly when user start editing clear textField
extension ViewController: UITextFieldDelegate{ func textFieldDidBeginEditing(textField: UITextField) { textField.text = "" } }更多推荐
如何以编程方式在swift ios中自动将光标从一个文本字段移动到另一个文本字段?
发布评论