iOS开发中UITextField限制输入文字个数
2016-04-14 14:25
519 查看
iOS开发中UITextField限制输入文字个数
一般在开发中有一个输入框,此时我们需要限制在输入框中输入文字的个数,如果用UITextField的代理方法去实现,确实挺暴力的,不过当文字达到了限制限制的时候,此时我们就无法删除输入框里面的内容,而且在输入最后一个文字时,肯定是先出现字母,导致textField.text.length达到了上限,在此,我总结了一个方法,希望可以对有需要的朋友有所帮助!代码如下:
首先,我们在创建UITextField的时候,需要给这个对象添加一个方法,这个方法是UITextField自带的:
[_textField addTarget:self action:@selector(textFiledDidChange:) forControlEvents:UIControlEventEditingChanged];
实现上面所添加的方法:
- (void)textFiledDidChange:(UITextField *)textField { NSLog(@"%@", textField.text); int length = [self convertToInt:textField.text]; NSLog(@"%d", length); //如果输入框中的文字大于10,就截取前10个作为输入框的文字 if (length > 10) { textField.text = [textField.text substringToIndex:5]; } }
下面这个方法主要是为了判断textField中汉字的个数,一个汉字等于两个字符的长度:
- (int)convertToInt:(NSString *)strtemp//判断中英混合的的字符串长度 { int strlength = 0; for (int i=0; i< [strtemp length]; i++) { int a = [strtemp characterAtIndex:i]; if( a > 0x4e00 && a < 0x9fff) { //判断是否为中文 strlength += 2; } } return strlength; }
相关文章推荐
- 【ios开发学习】UITextField的returnKeyType(输入法换行键)
- idea 或 Android Studio 报错 Error:Could not run build action using Gradle installation
- csv(comma separated values )操作
- webapi返回泛型给easyui
- IOS-UI学习笔记(超级猜图)
- Android中关于Volley的使用(十)对Request和Reponse的认识
- Android中关于Volley的使用(五)从RequestQueue开始来深入认识Volley
- Pywinauto Guideline
- iOS 对UITextView以及UITextField的字数限制.
- UISearchController使用中的几个坑和一个知识点
- 2016.04.14,英语,《Vocabulary Builder》Unit 14
- OpenCV学习笔记(二十一)——绘图函数core OpenCV学习笔记(二十二)——粒子滤波跟踪方法 OpenCV学习笔记(二十三)——OpenCV的GUI之凤凰涅槃Qt OpenCV学习笔记(二十
- Packet for query is too large(mysql写入数据过大)
- Light OJ 1277 Looking for a Subsequence
- 修改UISegmentrol各种属性
- Android之线程回掉更新ui
- winbuilder安装及使用
- android studio多渠道打包,且根据buildConfig属性判断为哪个渠道升级或者实现不同业务逻辑
- IOS UIImage类方法总结
- Android中的UI细节