1

私は非常に奇妙な問題を抱えています。描画に使用するフレーム/四角形をオフセットするとNSAttributedString

テキストが消えます。理由はありますか?これは、40 px の単純なオフセットの画像です。

r.size = [self.text boundingRectWithSize:r.size
                                     options:NSStringDrawingUsesLineFragmentOrigin
                                     context:nil].size;
    r.origin.y +=40;
    [[UIColor orangeColor] setFill];
    CGContextFillRect(ctx, r);
    [self.text drawInRect:r];

結果:

ここに画像の説明を入力

そして、これはオフセット なしです。ここに画像の説明を入力

特定のオフセットで AttributedText を描画するにはどうすればよいですか?

4

1 に答える 1

5

この問題がまだ解決されていない理由がわかりません。これは NSAttributedString API の重大な問題であり、Apple がドキュメントまたは実装にパッチを当てることですぐに認めてくれることを願っています。

当面は、文字列を描画する前にグラフィック コンテキストを変換することで、この問題を回避できます。

CGContextRef context = whatever;
CGContextSaveGState(context);
CGContextTranslateCTM(context, x, y);
// draw here
CGContextRestoreGState(context);
于 2013-10-25T15:52:49.853 に答える