gpt4 book ai didi

ios - 文本字段自动对焦无法正常工作

转载 作者:行者123 更新时间:2023-11-28 08:05:13 24 4
gpt4 key购买 nike

我有 6 个文本字段文本框。当用户在第一个文本字段中完成输入时,它应该自动进入第二个,依此类推。在这里我的代码帽子不起作用。当我在第一个文本字段中输入值时,值在第二个文本字段中输入..这里是我的代码:

下面的代码是为了在每个文本字段中只输入一个数字。但是在这里我如何添加文本字段响应器......一旦我完成第一个文本字段,等等......

 func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {


if textField == self.cardTextFieldOne{
guard let text = textField.text else {return true}

let newLength = text.characters.count + string.characters.count - range.length
return newLength <= 1
}else if textField == self.cardTextFieldTwo{
guard let text = textField.text else { return true }

let newLength = text.characters.count + string.characters.count - range.length
return newLength <= 1
}
else if textField == self.cardTextFieldTwo{
guard let text = textField.text else { return true }

let newLength = text.characters.count + string.characters.count - range.length
return newLength <= 1
}
else if textField == self.cardTextFieldThree{
guard let text = textField.text else { return true }

let newLength = text.characters.count + string.characters.count - range.length
return newLength <= 1
}
else if textField == self.cardTextFieldFour{
guard let text = textField.text else { return true }
let newLength = text.characters.count + string.characters.count - range.length
return newLength <= 1
}
else if textField == self.cardTextFieldFive{
guard let text = textField.text else { return true }
let newLength = text.characters.count + string.characters.count - range.length
return newLength <= 1
}
else if textField == self.cardTextFieldSix{
guard let text = textField.text else { return true }
let newLength = text.characters.count + string.characters.count - range.length
return newLength <= 1
}
else if textField == self.cardTextFieldMonth{
guard let text = textField.text else { return true }
let newLength = text.characters.count + string.characters.count - range.length
return newLength <= 2
}
else if textField == self.cardTextFieldYear{
guard let text = textField.text else { return true }
let newLength = text.characters.count + string.characters.count - range.length
return newLength <= 2
}
return true



}

提前致谢!!

更新

 if textField == self.cardTextFieldOne{


guard let text = textField.text else {return true}
let newLength = text.characters.count + string.characters.count - range.length

if (string == "") || string.characters.count < 1
{
return true //This also allow you to backspace
}else if (cardTextFieldOne.text?.characters.count)! >= 1
{
cardTextFieldOne.resignFirstResponder();
self.cardTextFieldTwo.becomeFirstResponder()

return false
}


return newLength <= 1




}

最佳答案

简单的解决方案

每次更改文本字段时都会调用创建方法,如下图所示,当您右键单击文本字段时,您会看到编辑更改拖动它并创建方法,如下所示 enter image description here

 @IBAction func editing(_ sender: UITextField)
{
if sender == yourFirstTextField {
if sender.text?.characters.count == 1 {
yourNextTextField.becomeFirstResponder()
}
}

}

关于ios - 文本字段自动对焦无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45369422/

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