在我们的应用程序中,我们使用UITextView来显示attributedText。在iOS 9上,firstRectForRange:和selectionRectsForRange:方法返回的值不正确。
请注意,在iOS 10上,这两种方法都会返回预期值。
重现步骤: 1.在UITextView上设置一些attributedText。 2.使用以下代码获取textview
中“文本”的框架 NSRange range = [textView.attributedText.string rangeOfString:text];
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];
CGRect rect = [textView firstRectForRange:textRange];