iOS为UIView的子类添加渐变颜色

Posted wxm5558

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS为UIView的子类添加渐变颜色相关的知识,希望对你有一定的参考价值。

+ (UIColor*) gradientFromColor:(UIColor*)c1 toColor:(UIColor*)c2 withWidth:(CGFloat)width andHeight:(CGFloat)height{
    CGSize size = CGSizeMake(width, height);
    UIGraphicsBeginImageContextWithOptions(size, NO, 0);
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGColorSpaceRef colorspace = CGColorSpaceCreateDeviceRGB();
    
    NSArray* colors = [NSArray arrayWithObjects:(id)c1.CGColor, (id)c2.CGColor, nil];
    CGGradientRef gradient = CGGradientCreateWithColors(colorspace, (CFArrayRef)colors, NULL);
    CGContextDrawLinearGradient(context, gradient, CGPointMake(0, 0), CGPointMake(size.width, size.height), 0);
    
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    
    CGGradientRelease(gradient);
    CGColorSpaceRelease(colorspace);
    UIGraphicsEndImageContext();
    
    return [UIColor colorWithPatternImage:image];
}

  

比如给一个UILabel设置了渐变颜色的效果

设置渐变背景色

 

设置简便字体色

 

以上是关于iOS为UIView的子类添加渐变颜色的主要内容,如果未能解决你的问题,请参考以下文章

使用渐变缩放 UIView

使用 CAGradientLayer 类更改 UiView IOS 的渐变背景图层颜色

iOS 绘制颜色渐变圆环 --- 值得一看

在uitableViewCell中的UIView内放置渐变颜色

如何在 iOS swift 运行时更新 CAGradientLayer 颜色?

在 UIView 上应用渐变不起作用