首先需要继承 UITextFieldDelegate

class TestViewController: UIViewController,UITextFieldDelegate{

}

添加事件委托

textField.delegate = self

点击输入框时触发以下事件:

func textFieldDidBeginEditing(_ textField: UITextField){

}

我的需求为输入一百以内最多为两位小数,使用以下方式对输入的值进行实时监控

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

        var newString = (textField.text! as NSString).replacingCharacters(in: range, with: string)
let expression = "^[0-9]*(?:\\.[0-9]{0,2})?$" do {
let regex: NSRegularExpression = try NSRegularExpression(pattern: expression, options: NSRegularExpression.Options.caseInsensitive)
let numberOfMatches = regex.matches(in: newString, options: NSRegularExpression.MatchingOptions.reportProgress, range: NSMakeRange(0, newString.characters.count)) if numberOfMatches.count == 0{
return false
}else{ if newString != "" {
if newString[newString.startIndex] == "." {
newString = "0" + newString
} if newString[newString.index(before: newString.endIndex)] == "." {
newString = newString + "0"
} if (Double(newString)! > 100.0){
account_textfield.text = "100"
return false
}
}
return true
}
}
catch {
return false
}
}

通过return值对输入框的值进行控制,return false则放弃编辑,输入框内容不会变更

最新文章

  1. spring笔记5 spring IOC的基础知识1
  2. LLDB基础知识
  3. C#高级编程笔记 Day 5, 2016年9月 13日 (泛型)
  4. php中数组遍历改值
  5. MPLS
  6. 【SVN】自动备份SVN仓库
  7. SQL表格
  8. 你真的会使用SQL Server的备份还原功能吗?之一:恢复模型
  9. A*算法完全理解
  10. dorado中的creationType选择类型
  11. android SDK 代理配置(东北大学)
  12. php_curl扩展在WINDOWS2003上如何添加
  13. Js中JSON.stringify()与JSON.parse()与eval()详解及使用案例
  14. php获取Linux网卡信息
  15. js应用之实现图片切换效果
  16. SyntaxHighlighter去掉右上角帮助图标的正确方法
  17. K均值
  18. shiro缓存机制
  19. ajax参考增删改查
  20. scala-class

热门文章

  1. nginx常用配置系列-HTTPS配置
  2. linux环境下创建和删除软链接
  3. accp8.0转换教材第9章JQuery相关知识理解与练习
  4. Sublime Text 3 注册码
  5. Tomcat管理页面配置
  6. 开源自己写的图片转Ascii码图工具
  7. Mycat在MySQL主从模式(1主1从)下读写分离和及自动切换模式的验证
  8. 利用workbench将excel数据导入到MySQL中
  9. Django学习(八)---修改文章和添加文章
  10. BZOJ3575 HNOI2014 道路阻塞