0

黒、透明、黒の 3 色のグラデーションがあります。中間部を増やすにはどうすればよいですか?

私が望んでいる効果は、上部のシェーディング/グラデーション、中央の明確なショー コンテンツがはっきりと表示できる、下部のシェーディング/グラデーションです。これは私がこれまでに持っているものです。

ここに画像の説明を入力

グラデーションの中間部分を増やすにはどうすればよいですか? 明確であることを願っています。これも私のコードです。

CAGradientLayer *gradient = [CAGradientLayer layer];

gradient.frame = self.view.bounds;
gradient.colors = [NSArray arrayWithObjects:(id)[[UIColor blackColor] CGColor],(id)[[UIColor clearColor]CGColor],(id)[[UIColor blackColor] CGColor],nil];
[self.view.layer addSublayer:gradient];
4

4 に答える 4

2

CAGradientLayer の location プロパティを使用する必要があります。

各グラデーション ストップの位置を定義する NSNumber オブジェクトのオプションの配列。アニメート可能。

グラデーション ストップは、0 ~ 1 の値として指定されます。値は単調に増加する必要があります。nil の場合、ストップは範囲全体に均一に広がります。デフォルトはゼロです。

gradient.locations = @[@0.3, @0.7, @1.0];

ソース

于 2014-10-03T10:04:11.067 に答える
2

gradient.locations で遊んでみてください

gradient.locations = @[@(0.2), @(0.8), @(1.0)];
于 2014-10-03T10:02:27.993 に答える