iOS设置渐变色

1.新建UIview Category UIView+GradientColors

2. h文件

typedef NS_ENUM(NSInteger, GradientPosition){
    PositonHorizontal,//横向
    PositonVertical,//竖向
    PositionUpLeft,//左上->右下
    PositionUpRight,//右上->左下
};

/// 设置渐变颜色
/// @param colors 颜色数组 (__bridge id)UIColor.redColor.CGColor
/// @param position 渐变方向
-(void)setGradientColors:(NSArray *)colors andGradientPosition:(GradientPosition)position;

3. m文件


-(void)setGradientColors:(NSArray *)colors andGradientPosition:(GradientPosition)position
{
    
    CAGradientLayer *gradientLayer = [CAGradientLayer layer];
    gradientLayer.colors = colors;
    switch (position) {
        case PositonHorizontal:
            gradientLayer.startPoint = CGPointMake(0, 0);
            gradientLayer.endPoint = CGPointMake(1.0, 0);
            break;
        case PositonVertical:
            gradientLayer.startPoint = CGPointMake(0, 0);
            gradientLayer.endPoint = CGPointMake(0, 1.0);
            break;
        case PositionUpLeft:
            gradientLayer.startPoint = CGPointMake(0, 0);
            gradientLayer.endPoint = CGPointMake(1.0, 1.0);
            break;
        case PositionUpRight:
            gradientLayer.startPoint = CGPointMake(1.0, 0);
            gradientLayer.endPoint = CGPointMake(0, 1.0);
            break;
        default:
            break;
    }

    gradientLayer.frame = self.bounds;
    [self.layer addSublayer:gradientLayer];
    
}

4.使用

    [testView setGradientColors:@[(__bridge id)UIColor.redColor.CGColor,(__bridge id)UIColor.greenColor.CGColor,] andGradientPosition:PositionUpRight];

效果

WX20210526-165955.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容