UITextField 显示的时候怎么处于选中的状态
2016-08-16 · 百度知道合伙人官方认证企业
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;
}
}
}