iOS里面的背景颜色实现渐变的方式有两种,第一种就是给一个渐变的图片做背景,当然这样有很大的局限性,比如我现在就需要根据项目需求要动态的改变渐变背景色。
这样首先想到quartz 2D 这里的知识进行绘图,我根据需要在自定义视图里面的drawRect方法进行绘制。
- (void)drawRect:(CGRect)rect {
/**
* 1.通过CAGradientLayer 设置渐变的背景。
*/
CAGradientLayer *layer = [CAGradientLayer new];
//colors存放渐变的颜色的数组
layer.colors=@[(__bridge id)[UIColor greenColor].CGColor,(__bridge id)[UIColor whiteColor].CGColor];
/**
* 起点和终点表示的坐标系位置,(0,0)表示左上角,(1,1)表示右下角
*/
layer.startPoint = CGPointMake(0.5, 0);
layer.endPoint = CGPointMake(0.5, 1);
layer.frame = self.bounds;
[self.layer addSublayer:layer];
/**
* 方法2.CGGradientRef
*/
CGContextRef ctx = UIGrap