2022-12-16ios-uilabel设置字体渐变

方法1

@interface ProjectListCell()
@property (nonatomic,strong) CAGradientLayer *titleLayer;
@end

        _titleLayer=[CAGradientLayer layer];
        _titleLayer.frame=CGRectMake(0, 0, 260, 40);
        [_titleLayer setColors:@[(id)MAHexColor(@"0XD9AC5B").CGColor,(id)MAHexColor(@"0xC09A56").CGColor]];
        [self.contentView.layer addSublayer:_titleLayer];
        [_titleLayer setStartPoint:CGPointMake(0, 0)];
        [_titleLayer setEndPoint:CGPointMake(1, 0)];

        _titleLayer.mask=self.projectTitle.layer;
        self.projectTitle.frame=_titleLayer.bounds;

方法2

- (UIColor*) gradientFromColor:(int)height
{
    CGSize size = CGSizeMake(1, height);
    UIGraphicsBeginImageContextWithOptions(size, NO, 0);
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGColorSpaceRef colorspace = CGColorSpaceCreateDeviceRGB();
    
    NSArray* colors = [NSArray arrayWithObjects:(id)MAHexColor(@"0XD9AC5B").CGColor, (id)MAHexColor(@"0xC09A56").CGColor, nil];
    CGGradientRef gradient = CGGradientCreateWithColors(colorspace, (CFArrayRef)colors, NULL);
    CGContextDrawLinearGradient(context, gradient, CGPointMake(0, 0), CGPointMake(0, size.height), 0);
    
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    
    CGGradientRelease(gradient);
    CGColorSpaceRelease(colorspace);
    UIGraphicsEndImageContext();
    
    return [UIColor colorWithPatternImage:image];
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容