方法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];
}