gpt4 book ai didi

ios - 当用户以编程方式单击 swift ios 中的删除按钮时,如何将光标从一个文本字段自动移动到另一个文本字段?

转载 作者:可可西里 更新时间:2023-11-01 01:57:49 25 4
gpt4 key购买 nike

目前,我有 6 个 textfields,一旦用户点击键盘上的数字,我就会从一个 textfield 移动到下一个。

我要解决的问题是:如果用户点击Delete Button返回重新输入不同的数字,我该如何编码一个程序?

我如何让用户返回并在键盘上输入新数字并将 textfield 更改回其原始代码?

我希望用户能够在键盘上的 6 个字段中输入一个数字,然后让用户能够单击 Delete Button 返回并重新输入号码。我希望用户必须单击 Delete Button

另外,如何去掉 UItextfield 中闪烁的蓝线?

我一直被这个问题困扰了一段时间,不知道如何解决这个问题。

    @objc func textFieldDidChange(textfield: UITextField) {
let text = textfield.text
if text?.utf16.count == 1 {
switch textfield {
case textfield1:
textfield1.backgroundColor = UIColor.black
textfield1.textColor = .white
textfield2.becomeFirstResponder()
textfield2.backgroundColor = UIColor.black
textfield2.textColor = .white
case textfield2:
textfield3.becomeFirstResponder()
textfield3.backgroundColor = UIColor.black
textfield3.textColor = .white
case textfield3:
textfield4.becomeFirstResponder()
textfield4.backgroundColor = UIColor.black
textfield4.textColor = .white
case textfield4:
textfield5.becomeFirstResponder()
textfield5.backgroundColor = UIColor.black
textfield5.textColor = .white
case textfield5:
textfield6.becomeFirstResponder()
textfield6.backgroundColor = UIColor.black
textfield6.textColor = .white
case textfield6:
textfield6.resignFirstResponder()
default:
break
}
}
else {

}
}

最佳答案

你可以使用这个:

func textFieldDidChange(textField: UITextField) {
let text = textField.text!
if text.utf16.count == 0 {
switch textField {
case textField2:
textField1.becomeFirstResponder()
case textField3:
textField2.becomeFirstResponder()
case textField4:
textField3.becomeFirstResponder()
case textField5:
textField4.becomeFirstResponder()
case textField6:
textField5.becomeFirstResponder()
default:
break
}
} else if text.utf16.count == 2 {
let indexStartOfText = text.index(text.startIndex, offsetBy: 1)
textField.text = String(text[..<indexStartOfText])
let tempStr = String(text[indexStartOfText])
switch textField {
case textField1:
textField1.backgroundColor = UIColor.black
textField1.textColor = .white
textField2.becomeFirstResponder()
textField2.backgroundColor = UIColor.black
textField2.textColor = .white
textField2.text = tempStr
case textField2:
textField3.becomeFirstResponder()
textField3.backgroundColor = UIColor.black
textField3.textColor = .white
textField3.text = tempStr
case textField3:
textField4.becomeFirstResponder()
textField4.backgroundColor = UIColor.black
textField4.textColor = .white
textField4.text = tempStr
case textField4:
textField5.becomeFirstResponder()
textField5.backgroundColor = UIColor.black
textField5.textColor = .white
textField5.text = tempStr
case textField5:
textField6.becomeFirstResponder()
textField6.backgroundColor = UIColor.black
textField6.textColor = .white
textField6.text = tempStr
case textField6:
textField6.resignFirstResponder()
default:
break
}
}
}

在这段代码中,你永远不会关注 UITextFields 的第一个字母,而是关注 2 个字母,如果 sender.text.count 等于 2 你设置下一个 UITextField 的第二个数字,如果 sender.text.count 等于零,则表示用户已删除某些内容(因为我们在 Editing Changed 事件),我们应该向后移动光标。
并在 if 的第一条语句中为 UI 做任何你想做的事情。
它有点乱,但它有效。

关于ios - 当用户以编程方式单击 swift ios 中的删除按钮时,如何将光标从一个文本字段自动移动到另一个文本字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49930852/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com