swift3.0 对UITextField()输入框输入的内容进行监控

首先需要继承 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则放弃编辑,输入框内容不会变更

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #00afca }
span.s1 { }

时间: 2024-10-19 04:27:09

swift3.0 对UITextField()输入框输入的内容进行监控的相关文章

Vue中使用百度地图——根据输入框输入的内容,获取详细地址

知识点:在Vue.js项目中调用百度地图API,实现input框,输入地址,在百度地图上定位到准确地址,获得到经纬度 参考博客:  百度地图的引用,初步了解参考博客:http://blog.csdn.net/docallen/article/details/70877925 详细功能修改参考博客: https://www.cnblogs.com/NearTheSea/p/6808093.html 效果图:在input输入框中,输入要查询的地址,搜索出相关的名字 选中详细地址,地图定位到详细地址

EditTextPreference点击后输入框显示隐藏内容,类似密码输入(转)

http://bbs.anzhuo.cn/thread-928131-1-1.html EditTextPreference点击后输入框显示隐藏内容,类似密码输入... [复制链接]     askilledhand ADD.幼儿园 UID 2186431 帖子 46 精华 0 积分 34 最后登录 2014-3-5 串个门 加好友 打招呼 发消息 电梯直达 1楼  发表于 2013-11-18 11:59:03 |只看该作者 |倒序浏览  一键分享 [新人报到]现在去发帖报道即可领取论坛金币哦

获取UITableView每行中不同的UITextField输入的内容(例如修改登陆密码)

@interface AZTPasswordModifyViewController ()<UITableViewDelegate, UITableViewDataSource>{ NSString *_theOldPassword ; NSString *_theNewPassword; NSString *_theTwiceNewPassword; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtI

APPium连接真机输入框中输入的内容与代码中不一致

今天解决了上一个问题,又碰到了一个新的问题. 问题:连接真机输入框中输入的内容与代码中不一致. 描述: 想实现登录页面输入用户名和密码自动登录,可是在输入用户名和密码的框中输入的内容总是与代码中的不一致,初步感觉到应该和输入发有关系,于是把用户名和密码都换成数字可以成功登录,但是真实的用户名很有可能含有字母,所以继续学习实践.把手机默认输入法换成英文的,再运行一次代码,用户名"clinvab001"可以正常输入,但是密码输入又出了问题,在网上各种寻找,几经实践终于找到了解决的办法了,在

Input Text关键字——模拟向一个输入框中输入文字内容

Input Text关键字:模拟向一个输入框中输入文字内容. 该关键字接受2个参数 [ locator | text ]:locator参数指的是定位界面元素的方式,text参数指的是需要输入的内容. ==================================================================================== 示例:打开百度页面,输入“robot framework”,这里采用id的方式来定位界面输入框元素. Open Browser 

设置警告框为带有一个密文输入框的样式,并设置输入框键盘为数字键盘;判断密文输入框里的内容,并弹出相应提示

项目需求 废话不说,直接上试题 及答案 代码 #import "TableViewController.h" @interface TableViewController ()<UIAlertViewDelegate> @property (nonatomic, strong) NSMutableArray * dataSource; - (IBAction)buy:(id)sender; @end @implementation TableViewController -

iOS 委托与文本输入(内容根据iOS编程编写)

文本框(UITextField) 本章节继续编辑 JXHypnoNerd .文件地址 . 首先我们继续编辑  JXHypnosisViewController.m 修改  loadView 方法,向  view 中添加一个 UITextField 对象: #import "JXHypnosisViewController.h" #import "JXHypnosisView.h" @interface JXHypnosisViewController () @end

对文本框中输入的内容放大显示和格式化

在最近做的项目中,发现用户在输入手机号.身份证或者银行卡这些重要的数据的时候,文本框显示的文字不是非常大,也不是非常明显的显示给用户. 往往这些重要数据用户都需要核对好几次,在确保正确无误的时候才敢点击保存,这样总会浪费一点时间,对用户的体验也不是非常友好,如果我们能在用户输入框的上面对输入的内容进行放大.颜色突出并且按照不同的分隔显示,是不是这样更能便于用户快速的核实数据呢. 于是自己利用业务时间就动手封装了一个小插件: 第一步:创建一个样式表sytle.css 1 @charset "utf

iOS UITextField限制输入数字

有时候项目中要求文本框中只能输入数字,如:价格.公里数.费用等等,一般的文本框不限制输入的格式,这时候只能强制限制输入框的输入格式了,代码如下: #import "ViewController.h" @interface ViewController ()<UITextFieldDelegate>{         UITextField *numTextField;} @end @implementation ViewController - (void)viewDidL