gpt4 book ai didi

ios - 将 TextField 输入限制为大写字母、数字和 6 个字符限制?

转载 作者:行者123 更新时间:2023-11-28 15:27:20 24 4
gpt4 key购买 nike

我在网上搜索了很多关于限制 TextFields 的例子,但是我找不到任何关于限制多因素的例子。我正在使用的代码弄乱了输入,我不知道为什么。

这是我的代码:(注意:我已经设置了delegate)

func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
guard let text = LPinput.text else { return true }
let newLength = text.characters.count + string.characters.count - range.length
LPinput.text = (textField.text! as NSString).replacingCharacters(in: range, with: string.uppercased())
return newLength <= limitLength
}

这是我在 TextField 中输入的内容:

food

下面是 TextField 中显示的内容:

FfOoOoD

请帮忙!

最佳答案

正如@rmaddy 所说,问题是您正在修改 UITextField.text 属性并在之后返回 true,这会导致您的问题中出现重复行为,所以我更改它并首先检查textLength 之后修改文本并始终返回 false 以避免添加重复字符尝试使用此代码

func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
guard let text = LPinput.text else { return true }
let newLength = text.characters.count + string.characters.count - range.length
if(newLength <= limitLength)
{
LPinput.text = (textField.text! as NSString).replacingCharacters(in: range, with: string.uppercased())
}
return false
}

希望对你有帮助

关于ios - 将 TextField 输入限制为大写字母、数字和 6 个字符限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45068218/

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