ios – 如何限制UITextField在Swift中只占用数字?

ios – 如何限制UITextField在Swift中只占用数字?,第1张

概述我希望用户只能在UITextField中输入数值。在iPhone上,我们可以显示数字键盘,但是在iPad上,用户可以切换到任何键盘。 有没有办法限制用户在UITextField中只输入数值? 这是我的2美分。 (仅限Swift 2测试) func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRan 我希望用户只能在UITextFIEld中输入数值。在iPhone上,我们可以显示数字键盘,但是在iPad上,用户可以切换到任何键盘。

有没有办法限制用户在UITextFIEld中只输入数值?

解决方法 这是我的2美分。 (仅限Swift 2测试)

func textFIEld(textFIEld: UITextFIEld,shouldChangeCharactersInRange range: NSRange,replacementString string: String) -> Bool {  let aSet = NSCharacterSet(charactersInString:"0123456789").invertedSet  let compSepByCharInSet = string.componentsSeparatedByCharactersInSet(aSet)  let numberFiltered = compSepByCharInSet.joinWithSeparator("")  return string == numberFiltered}

这只是一点点更严格。也没有小数点。

希望它有帮助:)

PS:我假设你照顾了代表。

更新:Swift 3.0:

func textFIEld(_ textFIEld: UITextFIEld,shouldChangeCharactersIn range: NSRange,replacementString string: String) -> Bool {    let aSet = NSCharacterSet(charactersIn:"0123456789").inverted    let compSepByCharInSet = string.components(separatedBy: aSet)    let numberFiltered = compSepByCharInSet.joined(separator: "")    return string == numberFiltered}
总结

以上是内存溢出为你收集整理的ios – 如何限制UITextField在Swift中只占用数字?全部内容,希望文章能够帮你解决ios – 如何限制UITextField在Swift中只占用数字?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1086732.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-27
下一篇2022-05-27

发表评论

登录后才能评论

评论列表(0条)

    保存