Coreplot中x轴的水平滚动

时间:2013-12-09 02:13:13

标签: ios core-plot

所以我试图在Core plot中获得合适的x轴滚动。

到目前为止我所做的是将globalXRange设置为大的值,并通过停止x轴上的更改来启用x轴上的缩放。缩放效果很好,看起来不错。我试着平移,它的可怕。它只有在我抬起手指后才起作用,它根本不流畅:(我错过了什么吗?

# pragma mark -
#pragma mark PlotSpace Delegates

- (CGPoint)plotSpace:(CPTPlotSpace *)space willDisplaceBy:(CGPoint)proposedDisplacementVector{

    return CGPointMake(proposedDisplacementVector.x, 0);
}

- (BOOL)plotSpace:(CPTPlotSpace *)space shouldScaleBy:(CGFloat)interactionScale aboutPoint:(CGPoint)interactionPoint {

    return YES;
}

- (CPTPlotRange *)plotSpace:(CPTPlotSpace *)space willChangePlotRangeTo:(CPTPlotRange *)newRange forCoordinate:(CPTCoordinate)coordinate {

    if (coordinate == CPTCoordinateX) {
        return [CPTPlotRange plotRangeWithLocation:newRange.location length:newRange.length];
    } else {
        return [CPTPlotRange plotRangeWithLocation:CPTDecimalFromFloat(0.0f) length:CPTDecimalFromFloat([self getMaxValue])];
    }


    return nil;
}    

编辑:我尝试启用plotSpace.allowsMomentum = YES;,但这没有帮助

1 个答案:

答案 0 :(得分:1)

使用最新的(2.0)coreplot代码进行动量滚动,您可以进行平滑滚动,但仍然只能使用

限制滚动到一个轴
- (CGPoint)plotSpace:(CPTPlotSpace *)space willDisplaceBy:(CGPoint)proposedDisplacementVector{

    return CGPointMake(proposedDisplacementVector.x, 0);
}

此任务不需要willChangePlotRangeTo方法。

注意:2.0 coreplot分支将被视为beta版,因此请谨慎使用(并经常拉动分支,因为正在进行持续的开发)。