iOS中UITextView字数统计(中英)?

我是通过UITextFieldDelegate协议的下面这个方法来获取响应:

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text;

怎样可以算出当前TextView中的字数呢,进行实时统计,要求英文字母算1,汉字也算1。

阅读 11.8k
3 个回答
+ (int)countWord:(NSString *)s
{
    int i,n=[s length],l=0,a=0,b=0;
    unichar c;
    for(i=0;i<n;i++){
        c=[s characterAtIndex:i];
        if(isblank(c)){
            b++;
        }else if(isascii(c)){
            a++;
        }else{
            l++;
        }
    }
    if(a==0 && l==0) return 0;
    return l+(int)ceilf((float)(a+b)/2.0);
}

UITextViewTextDidChangeNotification

这个委托也可以的 - (void)textViewDidChange:(UITextView *)textView;

是我没理解清楚你的目的。你是要分开统计中文,英文,去除空格。楼下是个好思路。

CGSize textSize = [text sizeWithFont:font];

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题