3
我有这样的代码来创建一个渐变背景如何创建渐变
CAGradientLayer *gradient = [CAGradientLayer layer];
gradient.frame = self.bounds;
UIColor *startColour = [UIColor colorWithHexString:@"#bcdef6"];
UIColor *endColour = [UIColor colorWithHexString:@"#fad7e6"];
UIColor *middleColor = [UIColor colorWithHexString:@"#ffffff"];
gradient.colors = [NSArray arrayWithObjects:(id)[startColour CGColor],(id)middleColor, (id)[endColour CGColor], nil];
gradient.endPoint = CGPointMake(1, 0);
gradient.startPoint = CGPointMake(0, 1);
[self.layer insertSublayer:gradient atIndex:0];
我如何摆脱在中间的灰色效果?
这是期望的结果:
这是实际的结果是:
这确实解决了我的问题。你能解释一下“地点”数组的含义吗? – 2014-09-30 08:16:44
位置是渐变站点,介于0.0和1.0之间,就像渐变距离上的百分比。因此,而不是开始混合0和50%之间的蓝色和白色,它只能混合20%和50%,而前20%只是蓝色。从文档“渐变停止指定为介于0和1之间的值。值必须单调递增,如果为零,则停止在整个范围内均匀分布,默认为零 渲染时,颜色被映射到在插值之前输出色彩空间。“ – 2014-09-30 08:23:32
我还不明白? 0.2意味着蓝色占据左下角20%的画布? – 2014-09-30 08:28:02