我在些项目中多次对一些输入框做了相同的代码操作,终于有一天忍不住了,MD必须写一个小的框架解决这个搬砖的问题。经过一天的战斗,于是 jwTextFied 就默默的诞生了。
地址:https://github.com/NIUXINGJIAN/jwTextFiled.git
使用它的好处:节省代码,简化操作,凸显 ViewController 内部逻辑。
如何使用它:
a: 进入gitHub 地址,然后下载它。
b: 将demo中 jwTextFiled 文件夹导入工程。
c: 在使用的地方引入头文件 #import "jwTextFiled.h" 即可,耦合度相当低。
d: 查阅 jwTextFiled_Example 使用步骤。
解析:
一个 Categorie ,没错就是一个 UITextFiled 的类扩展,我们将所有的输入框类型的校验写在该扩展中,同时具有较强的定制性。
一个黑框提示的封装,做为提示效果之一。
一个多按钮的提示框的引入,作为可以定制的提示效果之一。
jwTextFiled 可以帮你做什么?
0、使用极少的代码实现对一个或者一组输入框的输入长度做输入限制。
1、支持输入框类型为:用户名,密码,验证码,交易金额,身份证,银行卡,手机号,邮箱,信用卡有效期,信用卡安全码输入框正则校验,根据需要你可以自行扩展修改。
2、支持错误校验规则:详见代码内部正则注释。
3、提示类型:不提示,默默校验;校验并且提示(支持系统提示,黑框提示,用户自定义提示)
4、提示内容:通过函数传值,能够对校验失败,和输入框为空的时候进行提示。
5、对输入框当前输入内容的回调,通过一次遍历,能够得到所有输入框及时的输入信息。
6、封装倒计时控件,采用target-action设计思想很好的解决了多次重发的问题。
7、引入反馈页面使用的效果 UIPlaceholderTextView 文件。
8、自动获取输入框的内容,能够帮助你做一些你想做的事情:效果如下 code
//如,短信验证码页面,初始化了jwTextFiled 设置后,当进入该页面后,自动获取验证码成功后,验证码输入框智能获取焦点,键盘出现,页面自动偏移,当输入够6位的时候,输入框取消焦点,键盘消失,页面回复原来位置。 -(void)intelligentSwitchInputBox:(BOOL)isOpen{ if (isOpen) { _smCode_TF.tempBlock = ^(UITextField *TF,NSString *TF_STR){ if (TF == _smCode_TF) {// 验证码长度为6自动回收键盘 if ( 6 == [TF_STR length] ) { [TF resignFirstResponder]; [_scrolview setContentOffset:CGPointMake(0, 0) animated:YES]; }else{ [TF becomeFirstResponder]; [_scrolview setContentOffset:CGPointMake(0, 20 + 58) animated:YES]; } } }; } }