UIViewサブクラスのdrawRectメソッド内にカスタムレンダリングを行うコードがあります。私は[NSString drawInRect]
を使ってテキストをレンダリングしようとしていますが、それは常に白で表示されます。多くのグーグルとブラウジングの後、私はテキストの色を変更する方法を見つけることができませんでした。どんなアドバイスも素晴らしいでしょう。以下はiOSでビューの描画のテキストの色を設定しました
編集 は私のdrawRect実装
if(self.state != UIControlStateHighlighted)
{
CGContextSaveGState(context);
CGContextSetFillColorWithColor(context, color);
CGContextSetShadowWithColor(context, CGSizeMake(0, 2), 3.0, shadowColor);
CGContextAddPath(context, path);
CGContextFillPath(context);
[title drawInRect:rect withFont:[UIFont fontWithName:@"Helvetica-Bold" size:20]];
CGContextRestoreGState(context);
}
ここで 'context 'は' UIGraphicsGetCurrentContext() 'で取得されたと仮定しますか? –
ところで、 'state'は実際にはビットフィールドです。 'if((self.state&UIControlStateHighlighted)== 0)'をテストする必要があります。 –
正しいです。ビューはコンテキストに渡すすべてのものを適切にレンダリングします。テキストは色を変更しません。 – Seb