美文网首页
造轮子 - 限制文本输入的字数(textView)

造轮子 - 限制文本输入的字数(textView)

作者: 我为双鱼狂 | 来源:发表于2017-06-19 14:53 被阅读44次

    核心实现方案,利用字符串裁剪并赋值的方式时间

    效果图如下

    意见反馈.jpeg

    textField的代理方法,主要判断回车的时候就不让继续输入字符

    • (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{
      if ([text isEqualToString:@"\n"]) {
      return NO;
      }
      return YES;
      }

    textField的代理方法,当文本框中的字符串的字符增加或者减少一个字符都会调用该方法。

    • (void)textViewDidChange:(UITextView *)textView{
    UITextRange *selectedRange = [textView markedTextRange];
    //获取高亮部分
    UITextPosition *pos = [textView positionFromPosition:selectedRange.start offset:0]
    
    //如果在变化中是高亮部分在变,就不要计算字符了
    if (selectedRange && pos) {
        return;
    }
    NSUInteger count = textView.text.length;
    if (count < MAXVALUE) {//MAZVALUE 是最大字数 _countLabel 显示字数
        _countLabel.text = [NSString stringWithFormat:@"%lu/200",(unsigned long)count];
    }else{
        //通过字符串的剪切来得到不能输入超出字数限制的字符
        self.textView.text = [self.textView.text substringToIndex:200];
        _countLabel.text = [NSString stringWithFormat:@"200/200"];
    }
    feedContent = textView.text;}

    相关文章

      网友评论

          本文标题:造轮子 - 限制文本输入的字数(textView)

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