Create UITextRange from NSRange

Мне нужно найти пиксельную рамку для разных диапазонов в текстовом представлении. Для этого я использую - (CGRect)firstRectForRange:(UITextRange *)range;. Однако я не могу найти, как на самом деле создать UITextRange.

В основном вот что я ищу:

- (CGRect)frameOfTextRange:(NSRange)range inTextView:(UITextView *)textView {

    UITextRange*range2 = [UITextRange rangeWithNSRange:range]; //DOES NOT EXIST 
    CGRect rect = [textView firstRectForRange:range2];
    return rect;
}

Apple говорит, что нужно подклассифицировать UITextRange и UITextPosition, чтобы принять протокол UITextInput. Я этого не делаю, но я все равно попытался, следуя примеру из документа и передавая подкласс в firstRectForRange, что привело к краху.

Если есть более простой способ добавить различные цветные UILables к текстовому представлению, пожалуйста, подскажите мне. Я пробовал использовать UIWebView с content editable, установленным в TRUE, но я не люблю общаться с JS, а раскраска - единственное, что мне нужно.

Заранее спасибо.

48
задан Johannes Lund 4 February 2012 в 00:17
поделиться