UITextField 显示的时候怎么处于选中的状态

 我来答
育知同创教育
2016-08-16 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
展开全部

UITextField 显示的时候怎么处于选中的状态:

选中原理:当用户通过键盘输入的时候, 其实可以看到有些文字是选中状态, 什么是选中状态, 就是有一个带有透明度的黑色框起来.具体可以自己操作看下.而只有用户选中具体有输入的问题, 选中状态的文字才会变成非选中状态的.所以可以利用这个原理来过滤选中状态拼音。

如下图所示,下面带有阴影部分的就是选中状态文字,这是用系统键盘输入才会出现的情况。

实现方法如下:

1.监听每次键盘UITextField输入文字的改变.这边的_searchBar是UITextField

   [_searchBar addTarget:self action:@selector(textFieldDidChanged:) forControlEvents:UIControlEventEditingChanged];

2.判断当前是否有非选中的文字, 如果有则过滤调, 不调用具体的功能.只有没有选中的文字, 才相当于用户输入结束.

 - (void)textFieldDidChanged:(UITextField *)textField {
  UITextRange *rang = textField.markedTextRange; // 获取非=选中状态文字范围
 BKLog(@"%@", rang);
 if (rang == nil) { // 没有非选中状态文字.就是确定的文字输入
       if ([AppGlobal isEmpty: textField.text]) {

       }else {
           NSString *keyword = textField.text;
       }
     }
 }

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式