在iOS中,每一个可见的控件都有一个layer层。该层控制着控件的绘制和重绘。
近期在YY交友项目中有要求使用一个渐变的颜色。记录下。
新建一个控件,并将它加到此窗口上。
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, 400)];
[self addSubview:view];
我们知道view中有一个layer层。而我们可以使用CAGradientLayer
制作一个渐变的layer然后添加到原来视图的layer层上。
CAGradientLayer *layer = [CAGradientLayer layer];
layer.frame = self.freedomButton.bounds;
layer.startPoint = CGPointMake(0, 0);
layer.endPoint = CGPointMake(0, 1);
layer.colors = @[(id)[UIColor colorWithHexString:@"fa5539"].CGColor,(id)[UIColor colorWithHexString:@"fa3351"].CGColor];
其中startPoint
表示渐变的起始位置endPoint
表示渐变的结束位置。(0,0)表示左上角。(0,1)表示左下角。
colors
是一个数组。里面存放了渐变颜色的起始。如果需要多种颜色可以多存放。
最后将该layer加到原先控件的layer层上就可以了
[view.layer addSublayer:layer];