加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Swift: UITextfield 只能输入数字或字母,限制长度

发布时间:2020-12-14 06:14:35 所属栏目:百科 来源:网络整理
导读:1 设置代理 继承 UITextFieldDelegate tfTime . delegate = self ; tfCMD . delegate = self ; 2 实现代理 func textField(textField: UITextField ,shouldChangeCharactersInRange range: NSRange ,replacementString string: String ) - Bool { if tfTime

1 设置代理

继承UITextFieldDelegate

tfTime.delegate =self;

tfCMD.delegate =self;


2 实现代理

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

iftfTime == textField {

//限制只能输入数字,不能输入特殊字符

let length = string.lengthOfBytesUsingEncoding(NSUTF8StringEncoding)

for loopIndexin0..<length {

let char = (stringas NSString).characterAtIndex(loopIndex)

if char <48 {return false }

if char >57 {return false }

}

//限制长度

let proposeLength = (textField.text?.lengthOfBytesUsingEncoding(NSUTF8StringEncoding))! - range.length + string.lengthOfBytesUsingEncoding(NSUTF8StringEncoding)

if proposeLength >4 { return false }

}

iftfCMD == textField {

let length = string.lengthOfBytesUsingEncoding(NSUTF8StringEncoding)

for loopIndexin0..<length {

let char = (stringas NSString).characterAtIndex(loopIndex)

//只能输入 a~z A~Z

if char <65 {return false }

if char >=91 && char <=112 {returnfalse }

if char >=123 {returnfalse }

}

}

return true

}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读