2

長方形以外の UI 要素を持つ iPhone アプリを開発中です。現在、私は をサブクラスUIView化しており、drawRectを使用しCGPathRefて黒い境界線と色で塗りつぶされた内部を描画しています。

ただし、これらのアイテムを「ボタン」のように見せたいので、iPhoneアプリのアイコンなどで使用されるのと同じ種類の「ガラス効果」が必要です(そうでない場合)。 tUIPrerenderedIconを true に設定)、または他のボタンで。

私は探し回って、これを見つけました。これは私が必要としているものに近いようです:

iPhone の UIView と UILabels のグラデーション

しかし、グラデーションを自分の形にクリップする方法がわかりません。

ビューのmaskプロパティが適切な場所にあるように見えCALayerますが、クリッピングが何らかの形で適用された新しいオブジェクトを作成する必要があるようです。

これを行うための便利な関数があることを願っていますが、もっと複雑なものを書く必要がある場合は、それも問題ありません。パスをマスクとして適用する方法がわかりません。新しい描画コンテキストを作成してパスを描画する必要があるかどうかわかりません。そして、使用しCGContextClipますか?

適切な部品をたくさん見つけたと思いますが、それらを組み立てる方法を理解するのに苦労しています.

誰かが私を正しい方向に向けてもらえますか? (私はドキュメントでもっと読むことができてうれしいです.正しい方向に私を向けてください.)

4

1 に答える 1

0

CAShapeLayer を作成し、そのパスを CGPathRef に設定できます。次に、CAGradientLayer の mask プロパティを shapeLayer に設定します。

于 2010-09-28T16:34:01.343 に答える