UITextField UITextView对内容字数的限制
2016-07-29 15:53
357 查看
很多时候我们经常会遇到字数的限制。
大部分会选择使用UITextField or UItextView 的didEdit 代理方法来进行操作。
但是这会出现个问题,当我们输入汉字,打拼音的时候,即使我们没有选中汉字,这个代理也会走。
这就导致我们得到的string的内容和当前显示的是有出入的。
下面这个方法,可以在我们有高亮选择的字的时候的判断,但是这个方法不足之处,是emoji表情的处理,不到位。
如果加上emoji表情的处理,会比较麻烦。这里先不描述这个事情了。
大部分会选择使用UITextField or UItextView 的didEdit 代理方法来进行操作。
但是这会出现个问题,当我们输入汉字,打拼音的时候,即使我们没有选中汉字,这个代理也会走。
这就导致我们得到的string的内容和当前显示的是有出入的。
下面这个方法,可以在我们有高亮选择的字的时候的判断,但是这个方法不足之处,是emoji表情的处理,不到位。
如果加上emoji表情的处理,会比较麻烦。这里先不描述这个事情了。
[[NSNotificationCenterdefaultCenter]addObserver:self selector:@selector(infoAction)name:UITextFieldTextDidChangeNotification object:nil]; - (void)infoAction{ // NSString *toBeString = [self.nameTextField.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; UITextRange *selectedRange = [self.nameTextField markedTextRange]; UITextPosition *position = [self.nameTextField positionFromPosition:selectedRange.start offset:0]; // 没有高亮选择的字,则对已输入的文字进行字数统计和限制 if (position) { return; } self.keyWord = self.nameTextField.text; __weak typeof(self)WeakSelf = self; NSMutableDictionary *params = [[NSMutableDictionary alloc] init]; [params setObject:self.keyWord forKey:@"name"]; [YiliaoRequest getDoctor:params finished:^(NSDictionary *data) { YLLog(@"%@",data); if ([data[@"ret"] intValue] == 200) { WeakSelf.soureArr = [SelfInformation mj_objectArrayWithKeyValuesArray:data[@"body"]]; [WeakSelf.tbView reloadData]; }else{ WeakSelf.soureArr = nil; [WeakSelf.tbView reloadData]; } }]; }
相关文章推荐
- cts android.bluetooth.cts.BluetoothLeScanTest --testBasicBleScan fail
- break&continue
- POJ 1458 Common Subsequence(最长公共子序列)
- UIButton设置title在下,image在上
- Android studio运行时报错finished with non-zero exit value 1
- Building a Space Station--最小生成树
- Ext.ComponentQuery.query()
- Longest Consecutive Sequence
- UUID
- 02-线性结构3 Pop Sequence
- UIScrollView、UIPageControl、NSTimer知识点回顾
- POJ 1679 The Unique MST 【用次小生成树验证最小生成树是否唯一】
- UIL的使用
- Mac环境安装 pip lxml requests
- Ext中关于Ext.QuickTips.init()的使用
- String StringBuilder StringBuffer 对比
- UIL的源码分析
- MUI上传头像
- easyui添加/删除
- HDOJ-1242 Rescue