我有一个简单的核心图,其中包含xAxis alternatingBandFills
xAxis.alternatingBandFills = [NSArray arrayWithObjects:[bandFillColor colorWithAlphaComponent:0.1], [NSNull null], nil];
效果:
现在当我水平滚动(向左平移)时,当0到10之间的x区域在可视范围之外的左侧时,填充颜色将“跳跃”,而10到20将变为高亮显示( 20到30会变白,等等。
滚动时有没有办法保持乐队没有交替?
答案 0 :(得分:0)
现在,使用绘图空间委托来监视绘图空间的更改并根据需要随机填充填充颜色。我将issue 601添加到Core Plot问题跟踪器,请求使用此功能,以便更轻松。
答案 1 :(得分:0)
作为解决方法,我在可见屏幕上实施了一些 BarPlot ,但性能在iPhone 4& 4S上与 alternatingBandFills 相比甚至都不好由于 - plotSpace:didChangePlotRangeForCoordinate:,Eric回答说: shuffling 数据非常少,所以我回到了这个alternatingBandFills。这是我实施的解决方案:
-(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将是&lt; 0但是值变量将从0传递到-0,所以我检索-1到值在这种情况下。
注意:在你的globalXRange之前我还有一个新的majorTick的小问题,我得到了一个我无法修复的洗牌,所以我避免这种情况。