美文网首页
关于textView中textViewDidChangeSele

关于textView中textViewDidChangeSele

作者: 流年划过颜夕 | 来源:发表于2018-09-21 14:17 被阅读188次

    (void)textViewDidChangeSelection:(UITextView *)textView
    这个方法一般在实际开发中很少用到,当用户选择text view中的部分内容,或者更改文本选择的范围,或者在text view中粘贴入文本时,函数textViewDidChangeSelection:将会被调用。虽然它很少被使用,但是在某些业务场景下还是非常有用的。

    比如阅读开发中的使用场景:长按文本中某内容,可选中该内容所在段落。

    //这个代理是关键,方法是长按文本触发,返回textView各种属性,根据返回的range,可以计算获取UITextView的attributestring属性的起始位置和手指移动后的结束位置

    • (void)textViewDidChangeSelection:(UITextView *)textView {
      originlocation1=(int)textView.selectedRange.location;
      if (textView.selectedRange.location>0&&textView.selectedRange.location!=self.myTextView.text.length) {
      [self chooseOneparagraphloc:(long)textView.selectedRange.location Withlength:(long)textView.selectedRange.length];
      }
      }

    //通过当前手指实现长按后返回的range,思路是向左遍历字符串找到第一个换行符的前一位字符,break,向右遍历字符串找到第一个换行符后break,通过获取的两个range继续计算 可以得到当前段落
    -(void)chooseOneparagraphloc:(long )loc Withlength:(long)length;

    相关文章

      网友评论

          本文标题:关于textView中textViewDidChangeSele

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