美文网首页
UITextField限制输入长度,中文输入提示影响长度

UITextField限制输入长度,中文输入提示影响长度

作者: 傲世泡泡 | 来源:发表于2020-11-18 10:09 被阅读0次

    [self.textField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];

    输入改变的时候监听限制输入

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

        NSString *toBeString = textField.text;

        NSArray *currentar = [UITextInputMode activeInputModes];

        UITextInputMode *current = [currentar firstObject];

        //下面的方法是iOS7被废弃的,注释

    //    NSString *lang = [[UITextInputMode currentInputMode] primaryLanguage]; // 键盘输入模式    

        if ([current.primaryLanguage isEqualToString:@"zh-Hans"]) {

         // 简体中文输入,包括简体拼音,健体五笔,简体手写        

         UITextRange *selectedRange = [textField markedTextRange];

            //获取高亮部分        

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

            // 没有高亮选择的字,则对已输入的文字进行字数统计和限制        if (!position) {

                if (toBeString.length > 20) {

                    textField.text = [toBeString substringToIndex:20];

                }

            }

            // 有高亮选择的字符串,则暂不对文字进行统计和限制        else{

            }

        }

        // 中文输入法以外的直接对其统计限制即可,不考虑其他语种情况    else{

            if (toBeString.length > 20) {

                textField.text = [toBeString substringToIndex:20];

            }

        }

        NSLog(@"%@",textField.text);

    }

    相关文章

      网友评论

          本文标题:UITextField限制输入长度,中文输入提示影响长度

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