0

実行するには、次のコードがあります。

        CFArrayRef runs = CTLineGetGlyphRuns(line);

        for(int j = 0; j < CFArrayGetCount(runs); j++)
        //for(id runObj in (__bridge NSArray*)CTLineGetGlyphRuns(line))
        {
            CTRunRef run = CFArrayGetValueAtIndex(runs, j);
}

私がする必要があるのは、この実行を含む実際の文字列を取得することです。グリフを取得した場合、これらは実際の文字ではありません。たとえば、ctrunを指定して実際のテキストを含むnsstringを取得する方法はありますか?ありがとう

4

2 に答える 2

4
CTRunRef run = (CTRunRef)runObj;          
CFRange runRange = CTRunGetStringRange(run);
[[_attributedString attributedSubstringFromRange:NSMakeRange(runRange.location, runRange.length)] string]
于 2012-08-23T23:30:37.490 に答える
1

の作成に使用された属性付き文字列を取り戻す方法はありませんCTRun。プログラムは、、または属性付き文字列を作成したため、この情報をすでに知っているCTFrameはずCTLineですCTRun

于 2012-08-12T17:21:55.587 に答える