我有六个UITextFields用于输入密码。 在一个字符之后,下一个UITextFields变为活动状态。但是退格怎么办?在键盘退格键上,文本字段应以相反的顺序激活
答案 0 :(得分:3)
根据您的要求,我做了一个演示,它的工作就像一个魅力。 因此,为了满足您的要求,您必须遵循以下说明:
按照101,102,103,104,105和106
的顺序为每个UITextField添加标记然后让每个textField的委托给自己(UIViewController)
然后实现UITextField的下面委托方法
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
print("string = \(string) text = \(textField.text)")
if(textField.text?.characters.count == 1){
if string.characters.count == 0{
if textField.tag != 101{
textField.resignFirstResponder()
let preField : UITextField = self.view.viewWithTag(textField.tag-1) as! UITextField
preField.becomeFirstResponder()
}
textField.text = string
return false
}
if textField.tag != 106{
textField.resignFirstResponder()
let nextField : UITextField = self.view.viewWithTag(textField.tag+1) as! UITextField
nextField.text = string
nextField.becomeFirstResponder()
}
return false
}
return true
}