美文网首页
UITextView 字数限制

UITextView 字数限制

作者: xkevin | 来源:发表于2017-01-16 14:31 被阅读343次
    以下讨论的都是在 iOS 8.0 以上,iOS 7 的系统占用率比较低,而且有一些比较奇怪的特性,就不在此讨论了。

    很多APP对于输入字符都有限制,如微博会对当前输入的字符进行统计,还会根据不同的用户角色设置不同的字数上线,根据需求,在UITextView的Delegate 方法里可以在

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

    里进行检测,判断是否超出字数上限,但是当使用中文联想输入字符时,在iOS 9 及以下版本,点击中文联想字符推荐的词组,不会调用该方法,所以我们决定在

    - (void)textViewDidChange:(UITextView *)textView;
    

    进行判断,在该方法里,也要注意的是在进行字符数量限制时,应该防止把高亮的部分,即联想输入的部分记入到字数统计中,因为这部分不是我们真正要输入的内容。具体判断逻辑如下:

    if (textView.text.length > MAX_COUNT && textView.markedTextRange == nil) {
              // 限制字符的操作
              // 1. 不让用户继续输入 textView.text=[textView.text substringToIndex:MAX_COUNT];
              // 2. 禁止发布按钮,或者提示字数标红。
    }
    

    相关文章

      网友评论

          本文标题:UITextView 字数限制

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