我希望UITextfield的键盘只有a-z,没有数字,没有特殊字符(!@$!@$@!#),也没有大写字母。基本上,我希望键盘只有字母。
我已经可以禁用空格了。有人知道如何禁用数字、特殊字符和大写吗?任何一个解决方案都会很棒。
是最好的解决方案做下面的所有字符,但我不想?
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
if (string == " ") {
return false
}
if (string == "1") {
return false
}
return true
}
9条答案
按热度按时间wljmcqd81#
最简单的方法是:
ryevplcw2#
为希望只允许空格、大写和退格的用户提供的更新
Swift 4.x、Swift 5.x及以上版本
yrdbyhpb3#
Swift 3解决方案
9avjhtql4#
Swift 4.2代码仅允许字母,如果用户希望删 debugging 误字符,则允许退格
ej83mcc05#
当用户未在文本字段中复制和粘贴时,所有答案均有效。复制和粘贴使用吹塑代码
gajydyqb6#
cgyqldqp7#
尝试此代码
在上面的代码中,文本字段只允许10个字符
nsc4cvqm8#
Swift 3带空格
y3bcpkx19#
函数文本字段(_文本字段:UITextField,应更改字符范围:NSRange,替换字符串字符串:字符串)-〉布尔值{让文本=(textField.text!as NSString).范围,其中:字符串)让正则表达式=“[a-z A-Z ]+”让 predicate = NSPredicate.init(格式:“SELF MATCHES %@",正则表达式)if predicate 。evaluate(使用:文字)||字符串==“"{文本字段.文本=文本字段.文本?.替换出现次数(属于:““,与:“”)返回真}否则{返回假}返回真}