2

UIToolbar にある UIBarButtonItem にある画像で UISegmentedControl を使用しています。「通常の」UIBarButtonItem に画像を使用すると、素敵な影の効果が自動的に適用されます。ただし、UIBarButtonItem に属する UISegmentedControl の画像には、同じことが自動的に適用されるわけではありません。この影の効果を適用するために UISegmentedControl をサブクラス化することを考えていましたが、これを実現するためにグラフィックス API をどこから始めればよいかよくわかりません。オーバーライドする必要があると思います:

  • (void)drawRect:(CGRect)rect;

しかし、それを超えると、どこに行くべきかわかりません。

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

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

助けてくれてありがとう!

4

1 に答える 1

0

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

私はまだカスタム描画を正しく行うために混乱していて、正しくできたらフォローアップします.

[self setContentMode:UIViewContentModeRedraw];
[self setFrame:CGRectMake(self.frame.origin.x, self.frame.origin.y, self.frame.size.width+1, self.frame.size.height)];
于 2010-08-03T11:57:11.480 に答える