描画されたパスがグラデーションを持つように、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);
}