1

CGPathを描画するUIViewがあり、レンダリングされたCGPathの1 zレベル上にある、ビュー自体全体にオーバーレイを描画したいと考えています。

これはどのように行われますか?レイヤーを使用する必要がありますか?ビューの一部を繰り返し描画または塗りつぶしたいので、何らかの塗りつぶし方法を使用する方がよいかどうかはわかりません。新しいパスを描画する以外に、ビューの一部を塗りつぶすためのより効率的な方法はありますか?

プログレスバーに似た効果を作成し、値に応じて実行時にオーバーレイの幅を拡張したいと思います。

4

1 に答える 1

2

これには、サブビュー(または同様にサブレイヤー)を使用できます。ビューのサブビューは、でレンダリングされたコンテンツの上に表示されdrawRect:ます。

UIImage背景(たとえば、で作成されたもの)を使用せずにresizableImageWithCapInsets:、時間の経過とともにそのビューのサイズを変更するだけで済む場合は、で再描画するよりも効率的ですdrawRect:

于 2012-08-06T14:57:42.223 に答える