ios - 使用自定义颜色设置渐变

时间:2017-03-26 18:39:33

标签: ios view colors gradient

我正在尝试使用自定义颜色在主视图上设置渐变。视图显示为完全白色。这条记录有什么问题?

 CAGradientLayer *gradient = [CAGradientLayer new];

 gradient.colors = @[(id)[UIColor colorWithRed:92.0 green:196.0 blue:244.0 alpha:1].CGColor,
                    (id)[UIColor colorWithRed:47.0 green:146.0 blue:229.0 alpha:1].CGColor];
gradient.frame = self.backGroundView.bounds;
gradient.locations = @[@0.5, @0.5];

[self.backGroundView.layer insertSublayer:gradient atIndex:0];

正确显示,蓝色和红色切成视图高度的一半。

CAGradientLayer *gradient = [CAGradientLayer new];
gradient.colors = @[(id)[UIColor redColor].CGColor, (id)[UIColor blueColor].CGColor];
gradient.frame = self.backGroundView.bounds;
gradient.locations = @[@0.5, @0.5];

[self.backGroundView.layer insertSublayer:gradient atIndex:0];

1 个答案:

答案 0 :(得分:2)

你的颜色错了。 UIColor初始化程序需要0到1之间的值。试试这个:

gradient.colors = @[(id)[UIColor colorWithRed:92/255.0 green:196/255.0 blue:244/255.0 alpha:1].CGColor,
                    (id)[UIColor colorWithRed:47/255.0 green:146/255.0 blue:229/255.0 alpha:1].CGColor];