您好,欢迎来到二三四教育网。
搜索
您的当前位置:首页关于textField的textFieldDidChange的一

关于textField的textFieldDidChange的一

来源:二三四教育网

在使用UITextField这个控件来实现实时搜索,当输入中文的时候,在输入拼音的过程中也会触发UIControlEventEditingChanged事件,而这非我想要的结果,我想要的效果是,在打字的过程中不触发UIControlEventEditingChanged事件,在打字结束后触发UIControlEventEditingChanged事件,查阅资料得知,在中文输入法的状态下可以获取primaryLanguage属性,这样我们就可以来选择性的触发UIControlEventEditingChanged事件

NSString *langugeType = [[searchTextField textInputMode] primaryLanguage];

if ([langugeType isEqualToString:@"zh-Hans"])//中文输入{

UITextRange *selectedRange = [searchTextField markedTextRange];//选中部分

//获取高亮部分

UITextPosition *position = [searchTextField positionFromPosition:selectedRange.start offset:0];

if (!position)//无高亮

{

_wordHighlight = NO;

//去请求数据

[self searchBookWithKeyWord:searchTextField.text];

_currentKeyWord = searchTextField.text;

}else//有高亮

{

_wordHighlight = YES;

}

}else//非中文输入

{

_wordHighlight = NO;

//去请求数据

[self searchBookWithKeyWord:searchTextField.text];

_currentKeyWord = searchTextField.text;

}

Copyright © 2019- how234.cn 版权所有 赣ICP备2023008801号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务