美文网首页
iOS textView的拼音输入预输入问题

iOS textView的拼音输入预输入问题

作者: 天冰天降 | 来源:发表于2016-10-11 14:16 被阅读0次

    UITextView中限定字数的中文输入法如何处理?

    目前面临的一个问题是,给定一个UITextView,限定只能输入10个字,但是用中文输入法,输入到6个就会给我自动填充为英文。例如我中文输入法输入“我我我”textView shouldChangeTextInRange给我截取成“wo wo wo”。

    当textView.markedTextRange == nil的时候代表没有拼音与输入的字符

    - (void)textViewDidChange:(UITextView *)textView{
        if(textView.markedTextRange == nil){
            NSLog(@"没有预输入的文字--%@", textView.text);
            if(textView.text.length>10){
                            UIAlertController * alertController = [UIAlertController alertControllerWithTitle:@"提示" message:@"输入的文字超过10个" preferredStyle:UIAlertControllerStyleAlert];
                            UIAlertAction *okAction = [UIAlertAction actionWithTitle:@"好的" style:UIAlertActionStyleDefault handler:nil];
                            [alertController addAction:okAction];
                            [self presentViewController:alertController animated:YES completion:nil];
                            textView.text = [textView.text substringToIndex:10];
                        }else if([textView.text rangeOfString:@" "].location != NSNotFound){
                            UIAlertController * alertController = [UIAlertController alertControllerWithTitle:@"提示" message:@"请不要输入空格" preferredStyle:UIAlertControllerStyleAlert];
                            UIAlertAction *okAction = [UIAlertAction actionWithTitle:@"好的" style:UIAlertActionStyleDefault handler:nil];
                            [alertController addAction:okAction];
                            [self presentViewController:alertController animated:YES completion:nil];
                            textView.text = [textView.text substringToIndex:textView.text.length-1];
                        }
    
        }else{
            NSLog(@"有预输入的文字--%@", textView.text);
        }
    }
    

    相关文章

      网友评论

          本文标题:iOS textView的拼音输入预输入问题

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