欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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

程序员文章站 2022-06-22 12:40:44
2018年上班的第二天,就这样背了一个大锅。我们项目中有一个搜索功能,在这一期的版本中,为了增强优化,去除了过滤空格的请求,这样或许能增加很好的用户体验,恰恰相反,偷鸡不成蚀把米。没想到苹果系统的输入法竟然能自动联想,在没有选择汉字的时候,竟然能联想出来一大堆智能拼音,what???还有这种操作?? ......

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);

 

    }

 

}