0
  • 現在の文字のインデックスが与えられた場合、選択した文字の行数を特定するにはどうすればよいですか?

  • CTLine が与えられた場合、その中の文字数をどのように判断できますか?

4

1 に答える 1

1

最初のものの場合:

int currentCharacterIndex = 12; // You define this.
CFArrayRef lines = CTFrameGetLines(frame);
int currentLine = 0;
for (CTLineRef line in lines) {
    currentLine++;
    CFRange range = CTLineGetStringRange(line);
    if (currentCharacterIndex > range.location)
        break;
}
// Current line is now the line that the currentCharacterIndex resides at

2番目の場合:

CFRange range = CTLineGetStringRange(line);
CFIndex length = range.length; // Number of characters

私はそれらをテストしていないので、これらが機能するかどうかはわかりませんが、試してみる価値はあります。

于 2011-07-26T18:13:03.303 に答える