核心图 - 禁用y方向的缩放和滚动,而不是x

时间:2011-12-21 18:23:53

标签: iphone ios cocoa-touch core-plot

我正在制作一个显示x轴日期的图表,以及y轴上的百分比(1-100)。我有图表显示我喜欢的方式,但我想禁用在y方向滚动和缩放图形的功能,因此值1-100始终以相同的比例显示。但是,我无法完全禁用用户交互,因为我希望用户能够随着日期数量的增加在x方向上滚动(并可能缩放),并触摸节点以显示值。

我能够在之前使用的s7graphview中进行此操作,但是无法使用iOS 5进行此操作。此外,我从s7中的scrollView获得的平滑滚动也没问题。在核心情节中:))

2 个答案:

答案 0 :(得分:3)

//for stop vertical scrolling

-(CGPoint)plotSpace:(CPTPlotSpace *)space willDisplaceBy:(CGPoint)displacement{
        return CGPointMake(displacement.x,0);}


-(CPTPlotRange *)plotSpace:(CPTPlotSpace *)space willChangePlotRangeTo:(CPTPlotRange *)newRange forCoordinate:(CPTCoordinate)coordinate{
    if (coordinate == CPTCoordinateY) {
        newRange = ((CPTXYPlotSpace*)space).yRange;
    }
    return newRange;}

答案 1 :(得分:2)

最简单的方法是将绘图空间的globalYRange设置为与yRange相同的范围。如果您需要稍后展开yRange,请务必先删除globalYRange(将其设为零)。

要获得更多控制权,您可以使用绘图空间委托。实现此方法:

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

您可以使用此方法修改建议的绘图范围更改。

相关问题