我希望制作类似于这个的东西:http://youtu.be/PeRhxSCx2xM
我尝试实现以下方法:
//viewDidLoad
//plotSpace.delegate = self;
- (CPTPlotRange *)plotSpace:(CPTPlotSpace *)space
willChangePlotRangeTo:(CPTPlotRange *)newRange
forCoordinate:(CPTCoordinate)coordinate {
NSLog(@"WillChangePlotRangeTo");
// only allows scrolling to the right
// remove this to have scrolling in both directions
if (newRange.locationDouble < 0.0F) {
newRange.location = CPTDecimalFromFloat(0.0);
}
// Adjust axis to keep them in view at the left and bottom;
// adjust scale-labels to match the scroll.
CPTXYAxisSet *axisSet = (CPTXYAxisSet *)graph.axisSet;
if (coordinate == CPTCoordinateX) {
axisSet.yAxis.orthogonalCoordinateDecimal = newRange.location;
axisSet.xAxis.titleLocation = CPTDecimalFromFloat(newRange.locationDouble +
(newRange.lengthDouble / 2.0F));
} else {
axisSet.xAxis.orthogonalCoordinateDecimal = newRange.location;
axisSet.yAxis.titleLocation = CPTDecimalFromFloat(newRange.locationDouble +
(newRange.lengthDouble / 2.0F));
}
return newRange;
}
我也尝试了这个方法,当我缩小页面时它有效,但是当我放大页面时无效。
plotSpace.yRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromFloat(1.0) length:CPTDecimalFromFloat(3.0)];
plotSpace.globalYRange = plotSpace.yRange;
请有人帮我解释一下,什么是正确的结果,它实际上是如何工作的。
感谢回复。