iOS开发 正确限制UITextField(UITextView)输入位数
2016-05-24 11:01
411 查看
iOS开发时,有时候我们需要对输入框的位数做出合理的限制。对于UITextField,可通过监听UIControlEventEditingChanged
做出合理的位数限制;UITextView则要实现其代理 -textViewDidChange:对其位数进行限制,此处就不再赘述。
//检测输入变化
[self.textField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];
做出合理的位数限制;UITextView则要实现其代理 -textViewDidChange:对其位数进行限制,此处就不再赘述。
//检测输入变化
[self.textField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];
- (void)textFieldDidChange:(UITextField *)textField { if (textField == self.textField) { //对UITextField字数限制,比如5个字。 static NSUInteger maxLength = 5; NSString *inputText = textField.text; //获取高亮部分 UITextRange *markedTextRange = [textField markedTextRange]; UITextPosition *position = [textField positionFromPosition:markedTextRange.start offset:0]; //没用高亮选择的字,则对已输入的文字进行字数统计和限制 if (!position || !markedTextRange) { if (inputText.length > maxLength) { NSRange rangeIndex = [inputText rangeOfComposedCharacterSequenceAtIndex:maxLength]; if (rangeIndex.length == 1) { textField.text = [inputText substringToIndex:maxLength]; } else { NSRange range = [inputText rangeOfComposedCharacterSequencesForRange:NSMakeRange(0, maxLength)]; textField.text = [inputText substringWithRange:range]; } } } } }
相关文章推荐
- QT UI获得控件ID(HWND)
- 平时收集的一些有关UED的团队和个人博客
- android中子线程更新UI的方式浅析
- Android Volley完全解析(三),定制自己的Request
- UIActionSheet
- IDEA菜单项中Compile、Make和Build的区别
- iOS开发UI篇-UITabBarController简单介绍
- 发现Vue.js做前端交互不错,非常轻量级
- [UIScreen MainScreen].bounds.size获取屏幕尺寸不准确
- UITextField使用方法
- MySQL增加Sequence管理功能
- 开源UI
- HDU 4667 Building Fence(求凸包的周长)
- UESTC 1215 (思维题 旋转)
- iOS学习之—— dequeueReusableCellWithIdentifier
- POJ 2478 Farey Sequence(欧拉函数前n项和)
- iOS学习之——UIImagePickerController从拍照、图库、相册获取图片
- iOS UITableViewCell 表格式图滑动删除
- iOS-UIView属性之clipsToBounds
- iOS学习之—— UIViewAutoresizing(自动布局)