[iOS]渐变色
2022-08-03 本文已影响0人
汴城码农
// 初始化渐变色 layer
CAGradientLayer *gradient = [CAGradientLayer layer];
// 设置颜色数组 colors 是个 CGColorRef 对象数组
gradient.colors = @[(__bridge id)Theme_Red.CGColor, (__bridge id)RGB_COLOR_String(@"#F7F7F7").CGColor];
// locations NSNumber数组,取值在[0, 1]范围内,颜色对应的位置,各个颜色之间的部分做渐变处理
gradient.locations = @[@0, @1];
gradient.startPoint = CGPointMake(0, 0);
gradient.endPoint = CGPointMake(0, 1);
gradient.frame = frame;
// 默认为 kCAGradientLayerAxial
gradient.type = kCAGradientLayerAxial;
[view.layer addSublayer:gradient];
// 生成图片
// 获取图像上下文
UIGraphicsBeginImageContext(view.frame.size);
// 将指定的层及其子层内容呈现在当前操作的上下文上
[gradient renderInContext:UIGraphicsGetCurrentContext()];
// 获取当前上下文的图像
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
// 关闭上下文
UIGraphicsEndImageContext();