我尝试以绘制路径具有渐变的方式修改 Apple 的 Breadcrumb 示例。我不能让我工作。路径的颜色是黑色而不是渐变。有人有想法吗?
if (path != nil)
{
CGContextAddPath(context, path);
CGContextSetLineJoin(context, kCGLineJoinRound);
CGContextSetLineCap(context, kCGLineCapRound);
CGContextSetLineWidth(context, lineWidth);
CGContextReplacePathWithStrokedPath(context);
path = CGContextCopyPath(context);
CGContextAddPath(context, path);
CGContextSaveGState(context); {
CGColorSpaceRef rgb = CGColorSpaceCreateDeviceRGB();
CGGradientRef gradient = CGGradientCreateWithColors(rgb, (__bridge CFArrayRef)@[
(__bridge id)[UIColor greenColor].CGColor,
(__bridge id)[UIColor redColor].CGColor
], (CGFloat[]){ 0.0f, 1.0f });
CGColorSpaceRelease(rgb);
CGPoint startPoint = CGPointMake(MKMapRectGetMidX(clipRect), MKMapRectGetMinY(clipRect));
CGPoint endPoint = CGPointMake(MKMapRectGetMidX(clipRect), MKMapRectGetMaxY(clipRect));
CGContextClip(context);
CGContextDrawLinearGradient(context, gradient, startPoint, endPoint, 0);
CGGradientRelease(gradient);
} CGContextRestoreGState(context);
CGContextAddPath(context, path);
CGPathRelease(path);
CGContextDrawPath(context, kCGPathFillStroke);
}