29

UITextRangeオブジェクトをに変換するにはどうすればよいNSRangeですか? 他の方向に進むことについてのSOの投稿をたくさん見てきましたが、それは私が必要としているものとは逆です。UITextRange selectedTextRangeのプロパティである を使用していUITextViewます。を返しますUITextRangeが、範囲が必要です。

4

4 に答える 4

58

次のようなものが必要です。

- (NSRange) selectedRangeInTextView:(UITextView*)textView
{
    UITextPosition* beginning = textView.beginningOfDocument;

    UITextRange* selectedRange = textView.selectedTextRange;
    UITextPosition* selectionStart = selectedRange.start;
    UITextPosition* selectionEnd = selectedRange.end;

    const NSInteger location = [textView offsetFromPosition:beginning toPosition:selectionStart];
    const NSInteger length = [textView offsetFromPosition:selectionStart toPosition:selectionEnd];

    return NSMakeRange(location, length);
}
于 2014-01-15T22:52:22.203 に答える
8

UITextViewプロパティを持っています

@property(nonatomic) NSRange selectedRange;
于 2014-06-17T12:07:18.160 に答える