3

長方形でも正方形でもないものを描いCGPathて、 に追加CGPathしていCAShapeLayerます。使用してCAShapeLayer出来たフレームです。したがって、長方形または正方形になります。今、グラデーションカラーをレイヤーに設定したいのですが、パスが長方形でも正方形でもないため、グラデーションカラーが全体に均等に広がっていません。グラデーション カラーを CGPath に設定する方法はありますか、またはグラデーション カラーを角度で設定するにはどうすればよいですか?CGPathCGPathGetBoundingBox(path)CGPath

状況を理解するためにスクリーンショットを参照してください。ここで、白い色は のフレームを示しCGPath、緑色は描画されCGPathた . の下部に、CGPath均等に分散されていない白いグラデーション カラーが表示されCGPathます。

ここに画像の説明を入力

ここに画像の説明を入力

4

1 に答える 1

13

線形グラデーションの始点と終点は、レイヤー全体のサイズに対する相対的なポイントで指定されます。左上が (0,0)、右下が (1,1) です。

したがって、ある角度で線形グラデーションを作成するには、開始点と終了点を適切に設定するだけです。たとえば、開始点と終了点として (0,0) と (1,1) を使用した場合、グラデーションは左上から右下に 45 度の角度で実行されます。

したがって、ニーズに合わせて特定の開始点と終了点を決定することは、三角法の問題にすぎません。

于 2013-08-26T21:29:40.863 に答える