9

UIText範囲の開始と終了の数値を取得する必要があります。これまでのところ、説明は文字列としてしか印刷できません。

selectedTextRangeを見ると、それはおそらく構造体であると思いますか?構造体の要素を取得するにはどうすればよいですか?

UITextRange *selectedRange = [myTextView selectedTextRange];

NSLog(@"selectedRange.start %@, selectedRange.end %@ ", selectedRange.start.description, selectedRange.end.description);

説明は次のとおりです。

2013-03-26 13:44:03.127 AttributedString[24678:907] selectedRange.start <UITextPosition: 0x1ead8f10, 8, {"Rrrttgh "}, {"gggggh ggg..."}>, selectedRange.end <UITextPosition: 0x1eaf7860, 14, {"...tgh gggggh"}, {" gggg"}> 
4

2 に答える 2

5

ここに同様の質問に対する答えがあります:UITextPositionからNSRange

基本的-offsetFromPosition:toPosition:に、UITextRangeの開始位置と終了位置を。の初期位置で呼び出しますmyTextView.beginningOfDocument

于 2013-03-26T07:18:14.223 に答える
5

UITextViewはに準拠していUITextInputます。このプロトコルの一部として、UITextRangeおよびUITextPositionの独自のサブクラスを実装して処理する必要があります。これらは構造体ではなく、オブジェクトです。

開始位置を取得するために使用offSetFromPosition:toPosition:して渡すことにより、単純な数値位置を取得できます。beginningOfDocumentこれらのメソッドはすべてUITextViewによって実装されます。範囲の開始と終了を渡して、選択範囲の長さを確認することもできます。

ここで完全なプロトコルリファレンス。

于 2013-03-26T07:25:40.850 に答える