在iOS 9上,firstRectForRange:返回的值不正确

时间:2017-02-10 21:29:35

标签: ios uikit uitextview

在我们的应用程序中,我们使用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];
  1. 请注意,在iOS 9上,firstRectForRange:没有返回正确的值,但在iOS 10上却是。

0 个答案:

没有答案