3

我有一个简单的带有 xAxis 交替带填充的核心图

xAxis.alternatingBandFills        = [NSArray arrayWithObjects:[bandFillColor colorWithAlphaComponent:0.1], [NSNull null], nil];

效果:

阴谋

现在,当我水平滚动(向左平移)时,当 0 到 10 之间的 x 区域移到可视范围之外的左侧时,填充颜色将“跳跃”,而 10 到 20 将变为突出显示(以及 20 到30 会变成白色,依此类推)。

有没有办法在滚动时保持乐队原样而没有交替?

4

2 回答 2

0

现在,使用绘图空间委托来监控绘图空间的变化并根据需要调整填充颜色。我将问题 601添加到 Core Plot 问题跟踪器中,请求提供一个功能以使其更容易。

于 2013-10-25T00:16:52.493 回答
0

作为一种解决方法,我在可见屏幕上实现了一些BarPlot ,但与alternatingBandFills相比,iPhone 4 和 4S的性能很差,即使数据很少,所以我通过改组- plotSpace:didChangePlotRangeForCoordinate:中的数组回到了这个alternatingBandFills: Eric 说过。这是我实施的解决方案:

-(void)plotSpace:(CPTPlotSpace *)space didChangePlotRangeForCoordinate:(CPTCoordinate)coordinate {
if (self.plotSpace.xRange.locationDouble <0) {//area before your xrange origin to pass from 0 to -1 and not 0 to -0
         value = value-1;
    }

    int value = plotSpace.xRange.locationDouble.x/majorInterval;
    if (self.currentFillBand != value%2) {
        NSArray * array = xaxis.alternatingBandFills;
        xaxis.alternatingBandFills = @[array[1], array[0]];
        self.currentFillBand = value%2;
    }
}

如果您的 globalXRange 比您的 xrange.origin 大/之前,那么当您向后滚动时,您的 xRange.location 将 <0,但 value 变量将从 0 传递到 -0,因此在这种情况下,我将 -1 检索到该值。

注意:在你的 globalXRange 之前,我仍然有一个新的 majorTick 的小问题,我有一个无法修复的洗牌,所以我避免了这种情况。

于 2014-02-19T13:24:00.647 回答