問題タブ [cagradientlayer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
763 参照

iphone - UIBezierPath の CAShapeLayer でマスクした場合の CAGradientLayer の予期しない出力

Palimondoのこのサンプル コードを使用しています。これは、CAGradientLayer を CAShapeLayers にマスクする方法を学習する素晴らしいコードです。出力は次のとおりです。

ここに画像の説明を入力

今、私はこのイメージを作成しようとしています:

ここに画像の説明を入力

PaintCode を使用して、すべての UIBezierPath とグラデーション カラーを取得して停止し、それらを複数の配列に配置し、基本的にそれぞれを反復して新しい CAShapeLayer と CAGradientLayer に追加することができました。

目標は、CoreAnimation を使用してアニメーション化できる 16 個の個別の CAGradientLayer を用意して、一種の「渦巻き」効果を作成することです (PaintCode からの出力を drawRect に配置するだけで機能しますが、問題は、色またはグラデーションをレイヤーに配置するよりも、CoreGraphics を介してアニメーション化する方がはるかに困難です)。

そして、これが出力されます:

70年代のダンスパーティーバージョン…

[UIColor clearColor]数百回の反復の後、この時点の前に、 for を交換しようとしましたwhiteColor(これはサンプル コードが必要とするものではありません)。これが出力されます。

ほとんどそこに...

グラデーションが 2 つしかないことがわかりますが、それがwhiteColorCAGradientLayer に干渉していると私は信じています。

非常に微妙な何かを見逃しているに違いないことはわかっていますが、それが見えないようです。

サンプル コードではclearColor、グラデーションを適切に使用clearColorして表示できるのに、CAShapeLayer にアタッチされた UIBezierPath を使用するとグラデーションが壊れるのはなぜですか?

友人は、別の解決策は、グラデーションの 3 つの円を持ち、基本的にそれらをマスクされた形状上で同心円状に回転させて錯覚を作成することだと言いましたが、どうすればそれができるのか途方に暮れています。

0 投票する
1 に答える
2846 参照

ios - 角度付き CAGradientLayer

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

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

ここに画像の説明を入力

ここに画像の説明を入力

0 投票する
3 に答える
17256 参照

ios - iOS 7.0 の水平 CAGradientLayer

アプリケーション内では、 a を使用しCAGradientLayerてセルの背景を次のように設定します。

(このコードは の中にあります- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath)

iOS 6 では問題なく動作しますが、iOS 7 では動作しません。新しい iOS では、グラデーションは常に垂直です (startPoint と endPoint は無視されます)。

誰かが同じ問題に遭遇しましたか?

ありがとう、

ペリー

0 投票する
2 に答える
885 参照

ios - ARC でカスタム カラーを使用して CAGradientLayer を作成できないのはなぜですか?

テーブル ビュー コントローラーの次のコードでは、「ストック」カラーを使用すると[UIColor blueColor]問題なく動作しますが、RGBA 値を使用してカスタム カラーを作成しようとすると、恐ろしく失敗し、真っ黒以外は何も描画されません。

これは、ARC が CGColorRef を使用する前に割り当てを解除しているためですか? これをカスタムカラーで動作させるにはどうすればよいですか?

0 投票する
1 に答える
154 参照

uitableview - UITextView に適用された CAGradient の間違った色

iOS7 アプリを作成していますUITextViewが、UITableViewセル内に がCAGradient適用されています。別の色を使用するとclearColor問題なく動作clearColorしますが、グラデーションの色の 1 つとして使用すると灰色になります...

これは私のコードです。theContentは私のUITextViewです。

そして、これが最終的な (間違った) 結果です...

ここに画像の説明を入力

clearColorこれを修正してwhiteColor勾配を付けるにはどうすればよいですか???

0 投票する
2 に答える
7382 参照

ios - UIButtonのカスタムグラデーション背景を設定するには?

カスタム UIButton グラデーション背景を作成したいと思います。要件についての写真を添付し​​ました。
ここに画像の説明を入力
ここに画像の説明を入力

しかし、グラデーションの背景は期待どおりではありません。

ここに画像の説明を入力

私の質問は、位置または場所をグラデーションに設定する方法ですか? (上から中央へ、次に中央から下へ)。

これが私のコードです: