iOS UITextView 选中文字问题

我使用以下代码实现选中文段开头和结尾中间的文字(offset为2):

//_questionDes 是 UITextView
 UITextRange *range = [_questionDes textRangeFromPosition:[_questionDes positionFromPosition:_questionDes.beginningOfDocument inDirection:UITextLayoutDirectionRight offset:2] toPosition:[_questionDes positionFromPosition:_questionDes.endOfDocument inDirection:UITextLayoutDirectionLeft offset:2]];

 [_questionDes setSelectedTextRange:range];

可是这种使用offset的办法感觉好笨啊,如果我要做更为精细的选中操作,难道我要去数位数?

请问各位,有木有更好更棒的方法?

阅读 9.9k
1 个回答

少年,是不是这个意思?

  NSString *text = self.textView.text;
  NSString *s = @"*string*";

  text = [NSString stringWithFormat:@"%@%@", text, s];
  NSRange r = [text rangeOfString:s options:NSBackwardsSearch];
  [self.textView setText:text];
  r.location += 1;
  r.length -= 1;
  [self.textView setSelectedRange:r];
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题