2

UITegmentedControlを、UIToolbar内にあるUIBarButtonItem内の画像とともに使用しています。 「通常の」UIBarButtonItemに画像を使用すると、シャドウ効果が自動的に適用されます。ただし、UISegmentedControlのUIBarButtonItemに属する画像には、自動的には適用されません。私は、このシャドー効果を適用するためにUISegmentedControlをサブクラス化することを考えていましたが、これを達成するためにグラフィックスAPIをどこから始めるべきかはわかりません。私はオーバーライドする必要があると推測しています:UISegmentedControlの影効果?

  • (void)drawRect:(CGRect)rect;

しかし、それ以外ではどこに行くのかわかりません。

誰もが出発点について何か提案がありますか?

もう1つのオプションは、シャドウ効果をソースイメージに直接適用することです。しかし、アイコン/グラフィックス部門の私のスキルは、これを達成するためには最高ではありません。この効果を達成するのに役立つツールの提案はありますか?たぶんImageMagickや何かを介して?

ありがとうございました!

+0

これでどこにいらっしゃいましたか? –

+0

残念ながら、それは決して得られなかった... – Aaron

答えて

0

私はそこに行くことができます。コンテンツモードをUIViewContentModeRedrawに設定する必要がありました。このUIViewContentModeRedrawは、フレームのサイズが変更されたときに再描画を呼び出します。

私はまだ自分のカスタム描画が正しく行われていることでぼんやりとしており、正しいときにフォローアップします。

[self setContentMode:UIViewContentModeRedraw]; 
[self setFrame:CGRectMake(self.frame.origin.x, self.frame.origin.y, self.frame.size.width+1, self.frame.size.height)]; 
関連する問題