iOS:一句代码实现文本输入的限制
前言
实际开发中,往往需要处理UITextView、UITextField输入的限制。比如输入必须是价格格式(一个小数点、小数点后面最多两位);输入最大长度限制;对输入内容的实时回调。处理这些的时候,我们通常需要做一些繁琐重复的工作。
这里献上本人写的一个小工具,提前声明,这个工具主要是提供一种提高效率解决思路,更多的正则表达式还是得自行添加。
用法
将YBInputLimit文件夹拖入工程(注意不要拖到最外层的文件夹)
导入文件 #import "UIView+YBInputLimit.h"
注意:由于是UIView的分类,同时适用于UITextView、UITextField
//* 一句代码实现(链式语法的使用)[textfield setYBInputLimit:YBInputLimitModel.initialization.setInputLimitType(YBInputLimitType_numbers|YBInputLimitType_lettersSmall).setMaxLength(10).setTextChanged(^(id observe){})];
//* 常规实现YBInputLimitModel *model = [YBInputLimitModel new];model.inputLimitType = YBInputLimitType_numbers|YBInputLimitType_lettersSmall;model.maxLength = 10;[model setTextChanged:^(id observe){}];[textfield setYBInputLimit:model];
如果你不喜欢使用block,可以使用下面这种方法
[textfield setYBInputLimit:YBInputLimitModel.initialization.setInputLimitType(YBInputLimitType_numbers|YBInputLimitType_lettersSmall).setMaxLength(10).addTargetAndAction(self, @selector(sel0:))];
YBInputLimitModel *model = [YBInputLimitModel new];model.inputLimitType = YBInputLimitType_numbers|YBInputLimitType_lettersSmall;model.maxLength = 10;[model addTargetOfTextChange:self action:@selector(sel0:)];[textfield setYBInputLimit:model];
如果大家有更多的需求,可以自行添加YBInputLimitType枚举值,并且实现,当然,也可以直接传入正则表达式字符串:
//* 直接输入正则[textfield setYBInputLimit:YBInputLimitModel.initialization.setRegularStr(@"^[0-9]+$")];
DEMO地址:https://github.com/indulgeIn/YBInputLimit
作者:indulge_in
链接:http://www.jianshu.com/p/bd70c24a7021
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
iOS:一句代码实现文本输入的限制相关推荐
- iOS三句话实现文本转语音:AVSpeechSynthesizer
一.介绍 从iOS5开始,iOS系统已经在siri上集成了语音合成的功能,但是是私有API.但是在iOS7,新增了一个简单的API----AVSpeechSynthesizer来做这件事情. 二.案例 ...
- Adobe AIR移动应用中的文本输入
Adobe AIR移动应用中的文本输入 语言:ActionScript 3.0 环境:Adobe AIR for Mobile 作者:@flashache 来自:AIR移动研究小组 简介: flash ...
- iOS任何界面全屏炫酷倒计时,一句代码就够了
概述 iOS全屏炫酷倒计时,任何界面只需要调用一句代码就能实现,支持定制倒计时数字.倒计时结束时显示的文本.支持倒计时播放图片.开始倒计时和结束倒计时的block和delegate回调.支持定制文本颜 ...
- iOS开发之一句代码检测APP版本的更新
提示更新效果图如下,当然也是可以自定义类似与AlertView相似的自定义view,如京东.网易云音乐都是自定义了这种提示框的view.以下只展示,从App Store获取到app信息.并解析app信 ...
- 单击时选择HTML文本输入中的所有文本
我有以下代码在HTML网页中显示文本框. <input type="text" id="userid" name="userid" v ...
- 一句代码实现 HTML5 语音搜索
淘宝网的语音搜索也有了一阵子了,但似乎都没看到相关的博客或帖子在说这个如何实现,今天查了点资料,发现原来实现是如此简单,可能是因为太简单了,也就没有人讨论了吧. 其实实现只需一句代码即可: x-web ...
- linux awk 管道,shell使用管道,配合awk,一句代码清空大于设定大小的日志文件
服务器上,多多少少都会有一些日志文件,nginx python等等诸如此类,运行时间一长,难免会遇到磁盘塞满的状况,由于缺乏适当的日志清空机制(nginx也许要写个脚本跑),这时候就需要手动去删除一部 ...
- iOS 初学者功能代码大集合,个人笔记
UitableView cell 高度自适应 Masonry UILabel iOS UI控件 1.UIButton按钮 2.UILabel文本标签 3.UITextField文本输入框 4.UII ...
- EasyPermission:一句代码解决动态权限的申请和回执(带权限提示信息)
效果展示 以上是演示请求一个相机权限的过程: 首次申请(顶部提醒)-拒绝-再次申请(顶部提醒)-再次拒绝(并勾选禁止再次询问)-再次申请(中部弹窗引导)-在设置页不授权-返回-再次申请(中部弹窗引导) ...
最新文章
- 描述C#多线程中 lock关键字
- cmakelist 寻找opencv
- Java数组与容器类分析资料--数组、List和Set、Map等
- Smart Template tile的绘制原理
- 边际概率条件概率_数据科学家解释的边际联合和条件概率
- VB实训项目:学生成绩管理系统V1.0
- oracle11g win10版本,win10系统安装的oracle11g和cloud6.2 创建数据中心报错
- open live writer代码高亮插件设置
- 单片机 矩阵式按键
- python库源码阅读:ddddocr
- 99乘法表c语言竖坐标,99乘法表c语言(c语言九九乘法表原理)
- xcode6 下载地址
- 计算复杂性第八章——空间复杂性
- 计算机一个小键盘按不出来怎么办,电脑小键盘打不出字怎么办?
- 17.2: Apps that require users to share personal information, such as email address and date of birth
- Mock服务(1)---- 初识Mock
- Python:机器学习模块PyTorch【上】
- 《阅读的力量》书中的精髓:读书对一个人塑造自我、锤炼自我和扩展自我过程中的影响,让你真真切切的感受到阅读带来的力量。
- ggplot2日期时间标度的设置
- Java知识点串讲之简单的排序,求一个数组中的最大值