我想在我的代码中手动滚动CPScatterPlot
。我可以滚动绘图区域,但滚动globalXRange & globalYRange
时无法正常工作。我可以滚动(手动,点击按钮)超出图表。我想限制滚动区域,一旦达到全局范围。
这是我正在使用的代码,
-(IBAction)moveLineLocation:(id)sender {
isButtonClicked = TRUE;
currentTag = [sender tag];
CPPlotRange *rangeX = plotSpace.xRange;
CPPlotRange *rangeY = plotSpace.yRange;
if([sender tag] == 1) {
rangeX.location = CPDecimalAdd(rangeX.location, CPDecimalFromFloat(-0.5));
}
else if([sender tag] == 2) {
rangeY.location = CPDecimalAdd(rangeY.location, CPDecimalFromFloat(0.5));
}
else if([sender tag] == 3) {
rangeX.location = CPDecimalAdd(rangeX.location, CPDecimalFromFloat(0.5));
}
else {
rangeY.location = CPDecimalAdd(rangeY.location, CPDecimalFromFloat(-0.5));
}
plotSpace.xRange = rangeX;
plotSpace.yRange = rangeY;
[graph.axisSet relabelAxes];
[graph reloadData];
}
我如何限制来自这个问题?
P.S-触摸事件globalXRange & globalYRange
工作绝对完美。
由于
PRATIK
答案 0 :(得分:1)
在修改之前复制一下绘图范围:
CPPlotRange *rangeX = [plotSpace.xRange copy];
CPPlotRange *rangeY = [plotSpace.yRange copy];