iOS UITextField添加分割功能
来源:互联网 发布:淘宝店铺导航添加分类 编辑:程序博客网 时间:2024/06/05 19:35
这是一个比较简单的功能需求,给UITextField添加了一个分割间隙,就是输入银行卡号时,每4位数一组,便于区分,使用非常简单,也非常轻量级,就一个类。话不多少,直接上代码!!!
使用方法
//1,先导入头文件#import "UITextField+TextSeparater.h"//2,设置间隔,3个一组,还是4个一组。。。 OK了,就这么方便self.testTF.separatedInterval = 6;
代码如下
1,首先写一个类别,利用Runtime 添加一个属性
/** * 给UITextField添加了一个设置分割数的属性, */- (void)setSeparatedInterval:(NSInteger)separatedInterval;- (NSInteger)separatedInterval;
2,.m文件实现如下
注意
// 利用KVO 监听TextFeild的输入变化,但是当文字变化时,观测者没有响应,//只用当 textField.text = @"1234" 的时候,才会响应 [self addObserver:self forKeyPath:@"text" options:NSKeyValueObservingOptionNew context:nil]; //这个是每当TextFeild的输入变化时,会响应 [self addTarget:self action:@selector(valueChanged:) forControlEvents:UIControlEventAllEditingEvents];
主要功能实现如下:
-(void)valueChanged:(UITextField*)tf{ UITextRange * editRange = self.selectedTextRange; if ((tf.text != nil) && (tf.text.length>self.separatedInterval) ) { NSMutableAttributedString * string =[[NSMutableAttributedString alloc]initWithString:tf.text]; for (int i = 1; i < tf.text.length; i ++) { if ( i %self.separatedInterval == 0) { [string addAttribute:NSKernAttributeName value:[NSNumber numberWithFloat:10.f] range:NSMakeRange(i-1, 1)]; } } self.attributedText = string; self.selectedTextRange = editRange; } }
如有问题,欢迎讨论!!
源码在此
阅读全文
0 0
- iOS UITextField添加分割功能
- IOS-UITextField功能方法详解
- 151130IOS UITextField功能方法详解
- iOS:在UITextField中添加图标
- IOS 添加评论功能
- UITextField输入分割
- iOS-UITextField
- IOS UITextField
- IOS UItextfield
- IOS-UITextField
- IOS-UITextField
- ios UITextField
- IOS-UITextField
- IOS UITextField
- iOS UITextField
- IOS UITextField
- 【iOS】uitextfield
- iOS UITextField
- 探讨C/C++在特定编译方式下的堆栈申请空间过程
- localtion.href可以实现和a标签相同的下载效果
- 购物车
- 有喜欢看电影的吗?
- Android内存监控与分析(二):最常遇见的内存泄漏测试场景
- iOS UITextField添加分割功能
- 区块链智能合约部署初探
- 【队内胡策 10.24 T4】星际牛仔
- 从零开始学CSRF
- Java集合---ConcurrentHashMap原理分析
- L1-014. 简单题
- Modbus 接收ABCD四字节浮点数转换成CDAB形式浮点数方法
- 第24篇.apatchtomcat的log级别
- C++运算符重载详解