通过一行代码搞定UITextField的输入格式限制
程序员文章站
2022-07-04 20:18:30
zastextfieldformat开发背景
在开发的过程中,每次写到uitextfield,就不由得心里不爽,因为要考虑到各种输入限制,实现代理、通知等一些麻烦繁琐的东...
zastextfieldformat开发背景
在开发的过程中,每次写到uitextfield,就不由得心里不爽,因为要考虑到各种输入限制,实现代理、通知等一些麻烦繁琐的东西,就心中不爽,所以才写了这个zastextfieldformat ()简单的*,先暂时用着,等后期在慢慢优化完善。
zastextfieldformat 简介
一行代码,设置uitextfield的输入格式限制,比如手机号、身份证号、银行卡号格式以及输入字符类型个数的限制等;
接口说明
/** * zastextfieldformatdelegate代理 * */ @property (nonatomic, assign) id<zastextfieldformatdelegate> zasdelegate; /** * 设置浮点类型,只允许输入两位小数的浮点类型(default=no) * */ @property (nonatomic, assign) boolean isfloat; /** * 设置正则匹配模式(如果设置正则模式,则忽略其他格式限制) * */ @property (nonatomic, copy) nsstring * pattern; /** * 设置uitextfiled格式控制的入口 (注:这个入口必须被调用) * format=nil或者""则不限制格式, charactersinstring=nil或者""则不限制字符, maxlimit=0则不限制个数 * * 示例: 以手机号为例 * @param format 格式,eg: ### #### #### * @param charactersinstring 支持输入的字符,eg: 0123456789 * @param maxlimit 最大输入限制个数,eg: 11 * 结果输入:159 1234 5678 */ - (void)textfieldwithformat:(nsstring *)format charactersinstring:(nsstring *)charactersinstring maxlimit:(nsinteger)maxlimit;
具体使用
使原有uitextfield继承自zastextfieldformat,然后调用如何接口即可;
[_tfphone textfieldwithformat:@"### #### ####" charactersinstring:@"0123456789" maxlimit:11];
参考demo
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。
上一篇: 儿子的照片