UITextView谷歌输入法输入中文时限制字数问题

谷歌输入在输入中文时,输入框中会先显示中文的拼音。例如限制字数为5个时,你想输入"我是中国人",当你输入woshiz就会提示字数超限了,下面的代码就是解决这个问题

#define MAXSTRINGLENGTH 15    //限定输入长度
- (void)textViewDidChange:(UITextView *)textView{
   NSString *lang = [[[UITextInputMode activeInputModes] firstObject] primaryLanguage];
    if ([lang isEqualToString:@"zh-Hans"]){
        UITextRange *range = [textView markedTextRange];
        UITextPosition *start = range.start;
        UITextPosition*end = range.end;
        NSInteger selectLength = [textView offsetFromPosition:start toPosition:end];
        NSInteger contentLength = textView.text.length - selectLength;
        if (contentLength > MAXSTRINGLENGTH){
            
            textView.text = [textView.text substringToIndex:MAXSTRINGLENGTH];
            [[[UIAlertView alloc] initWithTitle:@"提示" message:@"最长限制15个字" delegate:nil cancelButtonTitle:@"确定" otherButtonTitles: nil] show];
            
        }
        
        if (contentLength < MAXSTRINGLENGTH){
            
            textCountlabel.text = [NSString stringWithFormat:@"还剩%ld个字", MAXSTRINGLENGTH - contentLength];
        
        }else{
            
            textCountlabel.text = @"还剩0个字";
        
        }}else{
        if (textView.text.length > MAXSTRINGLENGTH){
            
            textView.text = [textView.text substringToIndex:MAXSTRINGLENGTH];
            [[[UIAlertView alloc] initWithTitle:@"提示" message:@"最长限制15个字" delegate:nil cancelButtonTitle:@"确定" otherButtonTitles: nil] show];
            
        }
        textCountlabel.text = [NSString stringWithFormat:@"还剩%ld个字", MAXSTRINGLENGTH-textView.text.length];
         }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 不知不觉,岁寒输入法的更新历史已经可以列出这么一长串来了。从中可以看出,岁寒的发展过程也是一个不断试错的过程,其中...
    临岁之寒阅读 34,381评论 1 6
  • 如果说ios系统走的是精致风,那么安卓现在走的就是简约风,但是简约却不简单,尤其是在安卓上了5.0版本以后,整个设...
    魔术师阅读 6,696评论 7 8
  • 作者 谢恩铭,公众号「程序员联盟」(微信号:coderhub)。转载请注明出处。原文:https://www.ji...
    程序员联盟阅读 76,667评论 47 64
  • “一年之际在于春,一日之计在于晨”,早晨是一天里最美好的时间。 大约早上5点钟的时候,整个城市还在睡梦之中,马路上...
    明天_6fc9阅读 2,498评论 0 0
  • 从前有一个女人,她生养了三个儿子,最小的一个儿子出生时就是一个哑巴,所以那个女人最讨厌他,就给他起名叫做哑巴。而哑...
    花文子Flyao阅读 3,273评论 0 1