我正在制作一个显示x轴日期的图表,以及y轴上的百分比(1-100)。我有图表显示我喜欢的方式,但我想禁用在y方向滚动和缩放图形的功能,因此值1-100始终以相同的比例显示。但是,我无法完全禁用用户交互,因为我希望用户能够随着日期数量的增加在x方向上滚动(并可能缩放),并触摸节点以显示值。
我能够在之前使用的s7graphview中进行此操作,但是无法使用iOS 5进行此操作。此外,我从s7中的scrollView获得的平滑滚动也没问题。在核心情节中:))
答案 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;
您可以使用此方法修改建议的绘图范围更改。