多くのチャートを備えたiOSアプリを持っています。チャートが横向きモードで表示されているときに xRange の値を変更したいのですが、Core Plot でこれを行うことができません。
を呼び出してグラフを完全に再作成しようとしました
[graph removePlotWithIdentifier:@"myGraphName"];
「WillRotateToInterfaceOrientation」で、新しいxRangeでグラフを再度作成しましたが、機能しませんでした。
CorePlot がデバイスの向きに応じて xRange を動的に適応させたいと考えています。
グラフの最初の作成時のデバイスの向きに応じて、異なる xRange を管理するためのこのコードがあります。
UIInterfaceOrientation orientation = [[UIApplication sharedApplication] statusBarOrientation];
if(orientation == UIInterfaceOrientationPortrait
|| orientation == UIInterfaceOrientationPortraitUpsideDown) {
plotSpace.xRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromInt(lengthToDisplay/2) length:CPTDecimalFromInteger(lengthToDisplay/2)];
} else if(orientation == UIInterfaceOrientationLandscapeLeft
|| orientation == UIInterfaceOrientationLandscapeRight) {
plotSpace.xRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromInt(lengthToDisplay) length:CPTDecimalFromInteger(lengthToDisplay)];
}
それは正常に動作します。しかし、グラフが既に表示されていて、デバイスの向きを変更しても何も起こりません。このコードを「WillRotateToInterfaceOrientation」に入れようとしましたが、やはり何も起こりません。