【问题标题】:Core plot temperature gradient line核心图温度梯度线
【发布时间】:2014-12-13 20:10:13
【问题描述】:

我想实现如附图中的渐变效果。

我试图改变对象的CPTMutableLineStylelineGradient。但达不到同样的效果。

你会怎么做?

【问题讨论】:

  • 如果我自己这样做,我会将这条线作为 CAShapeLayer 的路径,并使用它来掩盖下方具有彩虹渐变的 CAGradientLayer。我不知道您是否可以将这种技术应用于核心情节。

标签: ios core-plot


【解决方案1】:

改用线条样式的lineFill 属性。您可以使用渐变或图像来提供填充图案。

【讨论】:

  • 它不是这样工作的。它沿线形成渐变。我只需要垂直渐变。如图所示。
  • 我发现 lineStyle.lineFill = [CPTFill fillWithImage:image];做这项工作。其中图像代表渐变。谢谢埃里克。
【解决方案2】:

我相信@oleg-danu 可能遇到的问题是没有设置他的渐变角度。另一方面,使用图像填充似乎有奇怪的剪裁问题。基于@eric-skroch 的回答:

CPTColor *red         = [CPTColor colorWithCGColor:[UIColor redColor].CGColor];
CPTColor *orange      = [CPTColor colorWithCGColor:[UIColor colorWithCrayola:@"Orange"].CGColor];
CPTGradient *gradient = [CPTGradient gradientWithBeginningColor:red endingColor:orange];
gradient.angle        = 270.0; // This is critical for red at the top, orange at the bottom

CPTMutableLineStyle *lineStyle = [plot.dataLineStyle mutableCopy];
lineStyle.lineWidth            = 3.0;
lineStyle.lineColor          = [CPTColor colorWithCGColor:[UIColor redColor].CGColor];
lineStyle.lineFill             = [CPTFill fillWithGradient:gradient];
plot.dataLineStyle             = lineStyle;

这条线是用渐变创建的:

此行是使用图像创建的,存在剪裁问题:

【讨论】:

    猜你喜欢
    • 2014-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多