可以参照SHLineGraphView 在方法drawPlot:(SHPlot *)plot 中 给他的backgroundLayer 添加如下代码
声明一个layer为他的backGroundLayer命名为backlayer
UIColor *colorFill;
if ([[[UIDevice currentDevice]systemVersion]floatValue] >= 10) {
colorFill = [UIColor colorWithDisplayP3Red:76 green:156 blue:246 alpha:0.8];
}else {
colorFill = [UIColor colorWithRed:76 green:156 blue:246 alpha:0.8];
}
CAGradientLayer *gradientLayer = [CAGradientLayer layer];
gradientLayer.frame =self.bounds ;// self.view.frame;
gradientLayer.colors = @[(__bridge id)UIColorFromRGB(0x489AF6).CGColor ,
(__bridge id)colorFill.CGColor];//4C9CF6
gradientLayer.locations=@[@0.5,@1.0];
gradientLayer.startPoint = CGPointMake(0,0);
gradientLayer.endPoint = CGPointMake(0,1);
[_backLayer addSublayer:gradientLayer];//加上渐变层
CAShapeLayer *arc = [CAShapeLayer layer];
arc.path =backgroundLayer.path;
arc.fillColor = colorFill.CGColor;
arc.strokeColor = colorFill.CGColor;
arc.lineWidth = 1;
gradientLayer.mask=arc;
注:10以后,颜色的赋值增加了一方法 ,如果在模拟器的层级中可以看到渐变色,但是真机和模拟器却看不到,可以试试改一下颜色的展示方法:用colorWithDisplayP3Red