如何增加CAGradientLayer的色彩空间

时间:2014-10-03 09:54:51

标签: ios cagradientlayer

我的渐变色有三种颜色,黑色,透明和黑色。你会如何增加中间部分?

我想要的效果是顶部的阴影/渐变,清晰的中间显示内容可以清晰显示,底部的阴影/渐变。这是我到目前为止所做的。

enter image description here

如何增加渐变的中间部分?我希望它清楚。这也是我的代码;

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 个答案:

答案 0 :(得分:2)

尝试使用gradient.locations

gradient.locations = @[@(0.2), @(0.8), @(1.0)];

答案 1 :(得分:2)

您应该使用CAGradientLayer的位置属性:

NSNumber对象的可选数组,用于定义每个渐变色标的位置。动画。

渐变停止指定为0到1之间的值。值必须单调递增。如果为零,则止挡在整个范围内均匀分布。默认为nil。

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

Source

答案 2 :(得分:0)

尝试QuartzCode使用GUI创建渐变,应该有你需要的东西 www.quartzcodeapp.com

答案 3 :(得分:0)

其他答案' Swift中的代码:

gradient.locations = [0.2, 0.8, 1.0]