前言

实际开发中,往往需要处理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:一句代码实现文本输入的限制相关推荐

  1. iOS三句话实现文本转语音:AVSpeechSynthesizer

    一.介绍 从iOS5开始,iOS系统已经在siri上集成了语音合成的功能,但是是私有API.但是在iOS7,新增了一个简单的API----AVSpeechSynthesizer来做这件事情. 二.案例 ...

  2. Adobe AIR移动应用中的文本输入

    Adobe AIR移动应用中的文本输入 语言:ActionScript 3.0 环境:Adobe AIR for Mobile 作者:@flashache 来自:AIR移动研究小组 简介: flash ...

  3. iOS任何界面全屏炫酷倒计时,一句代码就够了

    概述 iOS全屏炫酷倒计时,任何界面只需要调用一句代码就能实现,支持定制倒计时数字.倒计时结束时显示的文本.支持倒计时播放图片.开始倒计时和结束倒计时的block和delegate回调.支持定制文本颜 ...

  4. iOS开发之一句代码检测APP版本的更新

    提示更新效果图如下,当然也是可以自定义类似与AlertView相似的自定义view,如京东.网易云音乐都是自定义了这种提示框的view.以下只展示,从App Store获取到app信息.并解析app信 ...

  5. 单击时选择HTML文本输入中的所有文本

    我有以下代码在HTML网页中显示文本框. <input type="text" id="userid" name="userid" v ...

  6. 一句代码实现 HTML5 语音搜索

    淘宝网的语音搜索也有了一阵子了,但似乎都没看到相关的博客或帖子在说这个如何实现,今天查了点资料,发现原来实现是如此简单,可能是因为太简单了,也就没有人讨论了吧. 其实实现只需一句代码即可: x-web ...

  7. linux awk 管道,shell使用管道,配合awk,一句代码清空大于设定大小的日志文件

    服务器上,多多少少都会有一些日志文件,nginx python等等诸如此类,运行时间一长,难免会遇到磁盘塞满的状况,由于缺乏适当的日志清空机制(nginx也许要写个脚本跑),这时候就需要手动去删除一部 ...

  8. iOS 初学者功能代码大集合,个人笔记

    UitableView cell 高度自适应 Masonry UILabel iOS  UI控件 1.UIButton按钮 2.UILabel文本标签 3.UITextField文本输入框 4.UII ...

  9. EasyPermission:一句代码解决动态权限的申请和回执(带权限提示信息)

    效果展示 以上是演示请求一个相机权限的过程: 首次申请(顶部提醒)-拒绝-再次申请(顶部提醒)-再次拒绝(并勾选禁止再次询问)-再次申请(中部弹窗引导)-在设置页不授权-返回-再次申请(中部弹窗引导) ...

最新文章

  1. 描述C#多线程中 lock关键字
  2. cmakelist 寻找opencv
  3. Java数组与容器类分析资料--数组、List和Set、Map等
  4. Smart Template tile的绘制原理
  5. 边际概率条件概率_数据科学家解释的边际联合和条件概率
  6. VB实训项目:学生成绩管理系统V1.0
  7. oracle11g win10版本,win10系统安装的oracle11g和cloud6.2 创建数据中心报错
  8. open live writer代码高亮插件设置
  9. 单片机 矩阵式按键
  10. python库源码阅读:ddddocr
  11. 99乘法表c语言竖坐标,99乘法表c语言(c语言九九乘法表原理)
  12. xcode6 下载地址
  13. 计算复杂性第八章——空间复杂性
  14. 计算机一个小键盘按不出来怎么办,电脑小键盘打不出字怎么办?
  15. 17.2: Apps that require users to share personal information, such as email address and date of birth
  16. Mock服务(1)---- 初识Mock
  17. Python:机器学习模块PyTorch【上】
  18. 《阅读的力量》书中的精髓:读书对一个人塑造自我、锤炼自我和扩展自我过程中的影响,让你真真切切的感受到阅读带来的力量。
  19. ggplot2日期时间标度的设置
  20. Java知识点串讲之简单的排序,求一个数组中的最大值

热门文章

  1. Cron表达式的详细用法
  2. MongoDb 查询时常用方法
  3. eclipse如何卸载adt插件
  4. Lesson 59-60 Househusband
  5. 关于ASP.NET Web 部件连接的引入
  6. 非递归一次性加载分类数据到TreeViw
  7. MATLAB【十四】————遍历三层文件夹操作
  8. C#中使用DirectX编程
  9. 递归的妙用—遍历子控件
  10. 在分页状态下删除纪录的问题