我想从 UITextRange 获得所有的矩形。要知道,如果 UITextView 换行,UITextRange 将由超过 1 个 CGRect 表示。在 iOS 6.0 中,有一个方法叫“selectionRectsForRange:”,所以你可以得到所有的 CGRects。但是在旧版本中,只有一个方法“firstRectForRange:”我一次又一次地检查了API文档,但我什么也没找到。
我的代码喜欢吹:
UITextPosition *beginning = textView.beginningOfDocument;
UITextPosition *start = [textView positionFromPosition:beginning offset:range.location];
UITextPosition *end = [textView positionFromPosition:start offset:range.length];
UITextRange *textRange = [textView textRangeFromPosition:start toPosition:end];
//(in iOS 6.0)
NSArray *array = [textView selectionRectsForRange:textRange];
for (int i=0; i<[array count]; i++) {
NSLog(@"rect array = %@", NSStringFromCGRect([[array objectAtIndex:i] rect]));
}
// (in earlier version)
CGRect rect = [textView firstRectForRange:textRange];