Erlo

通过一行代码搞定UITextField的输入格式限制

时间:2018-08-17 00:00   阅读:142次   来源:脚本之家页面报错

点赞 打赏

×打赏

支付宝

微信

ZASTextFieldFormat开发背景

在开发的过程中,每次写到UITextField,就不由得心里不爽,因为要考虑到各种输入限制,实现代理、通知等一些麻烦繁琐的东西,就心中不爽,所以才写了这个ZASTextFieldFormat (本地下载)简单的轮子,先暂时用着,等后期在慢慢优化完善。

ZASTextFieldFormat 简介

一行代码,设置UITextField的输入格式限制,比如手机号、身份证号、银行卡号格式以及输入字符类型个数的限制等;

接口说明

#zs#*
 * ZASTextFieldFormatDelegate代理
 *
 #fzs#
@property (nonatomic, assign) id<ZASTextFieldFormatDelegate> zasDelegate;

#zs#*
 * 设置浮点类型,只允许输入两位小数的浮点类型(default=NO)
 * 
 #fzs#
@property (nonatomic, assign) Boolean isFloat;

#zs#*
 * 设置正则匹配模式(如果设置正则模式,则忽略其他格式限制)
 *
 #fzs#
@property (nonatomic, copy) NSString * pattern;

#zs#*
 * 设置UITextFiled格式控制的入口 (注:这个入口必须被调用)
 * format=nil或者""则不限制格式, charactersInString=nil或者""则不限制字符, maxLimit=0则不限制个数
 *
 * 示例: 以手机号为例
 * @param format    格式,eg: ### #### ####
 * @param charactersInString 支持输入的字符,eg: 0123456789
 * @param maxLimit   最大输入限制个数,eg: 11
 * 结果输入:159 1234 5678
 #fzs#
 - (void)textFieldWithFormat:(NSString *)format charactersInString:(NSString *)charactersInString maxLimit:(NSInteger)maxLimit;

具体使用

使原有UITextField继承自ZASTextFieldFormat,然后调用如何接口即可;

[_tfPhone textFieldWithFormat:@"### #### ####" charactersInString:@"0123456789" maxLimit:11];

参考Demo

点击此处获取Demo本地下载

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

来源:https://www.erlo.vip/share/14/19877.html
下一篇:解决ios手机中input输入框光标过长的问题

评论留言

还没有评论留言,赶紧来抢楼吧~~

Erlo大厅()

* 这里是“吐槽厅”,所有人可看,只保留当天信息。

  • Erlo.vip2019-02-17 18:58:18Hello、欢迎使用吐槽厅,这里是个吐槽的地方。
  • 首页 笔记分享 Erlo动态 案例展示 搜索
    鼠标试试
    返回顶部