iOS----------UITextField实现过滤选中状态拼音

时间:2021-05-12 10:11:00

2018年上班的第二天,就这样背了一个大锅。我们项目中有一个搜索功能,在这一期的版本中,为了增强优化,去除了过滤空格的请求,这样或许能增加很好的用户体验,恰恰相反,偷鸡不成蚀把米。没想到苹果系统的输入法竟然能自动联想,在没有选择汉字的时候,竟然能联想出来一大堆智能拼音,what???还有这种操作????输就输在了我几乎不使用苹果系统的输入法,我的手机设置一般都是把苹果的输入法删除了,直接使用搜狗。(苹果系统的输入法太难用了)不过对于测试人员来说,一定要测试各个系统的输入法,切记!切记!切记!

那现在就看一下没有屏蔽拼音之前的输入内容吧

当我输入蓝海的时候   还没有选择汉字呢   系统就会自动拼接一些拼音。

iOS----------UITextField实现过滤选中状态拼音iOS----------UITextField实现过滤选中状态拼音

对比所打印的内容,有没有觉得很惊喜?   怎么样才能把拼音去除掉呢? 给输入框添加一个事件,在事件里面过滤掉拼音   不信你可以试一下。

_searchTextField = [[UITextField alloc]initWithFrame:CGRectMake(20, 100, kScreenWidth-40, 50)];

_searchTextField.delegate = self;

_searchTextField.backgroundColor = [UIColor orangeColor];

_searchTextField.placeholder = @"输入基金,快速定位";

_searchTextField.returnKeyType = UIReturnKeyDone;

_searchTextField.clearButtonMode = UITextFieldViewModeWhileEditing;

[_searchTextField addTarget:self action:@selector(searchTextFieldChanges:) forControlEvents:UIControlEventEditingChanged];

[self.view addSubview:_searchTextField];

- (void)searchTextFieldChanges:(UITextField *)textField{

if (textField.markedTextRange == nil) {

NSLog(@"选中了汉字之后出现的汉字:%@", textField.text);

}

}