当前位置: 代码迷 >> 综合 >> iOS Programming - Disallow Alphabetic Characters
  详细解决方案

iOS Programming - Disallow Alphabetic Characters

热度:77   发布时间:2023-09-21 23:28:48.0

要求:
禁止用户通过键盘输入或者粘贴字母到 UITextField
Hint:可以使用 NSCharacterSet

在委托中添加代码

func textField(_ textField: UITextField,shouldChangeCharactersIn range: NSRange,replacementString string: String) -> Bool {
    let str = string// 方法一:直接判断字符范围,只要存在一个,即返回 falsefor char in str {
    if (char >= "A" && char <= "Z") || (char >= "a" && char <= "z") {
    return false}}//方法二:使用 NSCharaterSet.letters 判断字符串与集合的关系let charSet = NSCharacterSet.lettersif str.rangeOfCharacter(from: charSet) != nil {
    return false}// 禁止多个小数点let existingTextHasDecimalSeparator = textField.text?.range(of: ".")let replacementTextHasDecimalSeparator = string.range(of: ".")if existingTextHasDecimalSeparator != nil,replacementTextHasDecimalSeparator != nil{
    return false}else {
    return true}}
  相关解决方案