をスクロール、yはスケーリングを軸無効にすると、私コアプロットは、私はこのようなものにしたい
//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;
誰が正しい結果、そしてどのようにその仕事実際には何か、私に説明してください。
感謝の返信
パーフェクトな答えが働いています、非常に大変ありがとう、1つしかありません。このメッセージでアプリケーションのクラッシュを大きく外すと、次のようになります。 - [CPTPlotRange mutableCopyWithZone:]:認識できないセレクタがインスタンスに送信されました0xd876030 2012-03-01 07:41:58.676 SSDev [823:11f03] ***キャッチされていない例外 'NSInvalidArgumentException'によりアプリを終了しています、理由: ' - [CPTPlotRange mutableCopyWithZone :]:インスタンスに送信された認識できないセレクタ0xd876030 ' ***最初のコールスタックをスローする: – flatronka