美文网首页
关于textField的textFieldDidChange的一

关于textField的textFieldDidChange的一

作者: Bel李玉 | 来源:发表于2016-10-16 12:42 被阅读133次

    在使用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;

    }

    相关文章

      网友评论

          本文标题:关于textField的textFieldDidChange的一

          本文链接:https://www.haomeiwen.com/subject/vugoyttx.html