Mik*_*e S 2 uitextview ios nsrange
我正在使用此方法将NSRange转换为CGRect,因为它与UITextView相关:
- (CGRect)frameOfTextRange:(NSRange)range inTextView:(UITextView *)textView
{
UITextPosition *beginning = textView.beginningOfDocument;
UITextPosition *start = [textView positionFromPosition:beginning offset:range.location];
UITextPosition *end = [textView positionFromPosition:beginning offset:range.location+range.length];
UITextRange *textRange = [textView textRangeFromPosition:start toPosition:end];
CGRect rect = [textView firstRectForRange:textRange];
return rect;
}
Run Code Online (Sandbox Code Playgroud)
这个问题的答案是有人问我同样的问题.上述方法适用于此:
这是一个伟大的文本领域是的,它是findthistoken
不像这样:
this is a great one
(new line)
(new line)
findthistoken
Run Code Online (Sandbox Code Playgroud)
它似乎完全忽略了有2个新行字符的事实?:/
如何使用新的行字符?
小智 10
您可以强制self.textView立即确保textView的布局
[self.textView.layoutManager ensureLayoutForTextContainer:self.textView.textContainer];
Run Code Online (Sandbox Code Playgroud)
在frameOfTextRange:call之前放置它会给你正确的rect.
归档时间: |
|
查看次数: |
1326 次 |
最近记录: |