1

嗨,我正在尝试从该颜色设置为另一个视图的渐变中获取颜色。我可以设置开始和结束颜色,但不能设置角度和类型。

以下是值: 1.Startcolor:@"2b2b2b" 2.Endcolor:@"4a4a4a" 3.GradientAngle:90 4.GradientType:@"linear"

UIView *theView=[[UIView alloc] init];
theView.frame=self.view.frame; 
CAGradientLayer *gradient = [CAGradientLayer layer];
gradient.frame = theView.bounds;
UIColor *startColor = [self colorwithHexString:@"2b2b2b" alpha:1];
UIColor *endColor = [self colorwithHexString:@"4a4a4a" alpha:1];
gradient.colors = [NSArray arrayWithObjects:(id)[startColor CGColor], (id)[endColor CGColor], nil];
[theView.layer insertSublayer:gradient atIndex:0];
4

1 回答 1

2

CAGradientLayer 有一个type属性(但唯一支持的值是轴向的):

轴向梯度(也称为线性梯度)沿两个定义端点之间的轴变化。位于与轴垂直的线上的所有点都具有相同的颜色值。

角度由startPointendPoint属性决定。两者都在层边界的单位坐标空间中定义(x 和 y 范围从 0 到 1)。

于 2014-07-10T09:52:40.903 回答