美文网首页
TextView限制字数的设置

TextView限制字数的设置

作者: 跟上时代的脚步 | 来源:发表于2017-04-20 11:26 被阅读0次

    看到各种大神的帖子,小弟我一时手痒,正好前不久因为项目的需要,就弄了这么一个玩意,希望能帮助大家。

    刚开始做这个的时候,发现一个问题,那就是我们在打字的时候,那些还在高亮的字母也会被算进进去,这就会造成我们一些困扰,情况如下。

    针对这样的问题,小弟我在textView的代理方法中加了这么几句代码就解决问题了,下面话不多说,直接上代码,就是下面黑体加粗的部分,这样弄了之后。

    - (void)textViewDidChange:(UITextView *)textView

    {

    if (textView.text.length>0) {

    placeLabel.hidden = YES;

    UITextRange *selectedRange = [textView markedTextRange];

    //获取高亮部分

    UITextPosition *pos = [textView positionFromPosition:selectedRange.start offset:0];

    //如果在变化中是高亮部分在变,就不要计算字符了

    if (selectedRange && pos) {

    return;

    }

    NSUInteger count = textView.text.length

    if (count>=200) {

    wordNum.text = @"200/200";

    textView.text = [textView.text substringToIndex:200];

    ALERTSHOW_IN_CENTER(@"字数超过200上限了");

    }else{

    wordNum.text = [NSString stringWithFormat:@"%ld/200", (unsigned long)count];

    }

    }else{

    placeLabel.hidden = NO;

    wordNum.text = @"0/200";

    }

    }

    效果如下图:

    最后说几句,虽然这个功能很简单,但是却是很常见的一个问题,小弟第一次写这个,暂时就弄个简单的试试水,望大家多多谅解。

    相关文章

      网友评论

          本文标题:TextView限制字数的设置

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