1

多くのチャートを備えた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」に入れようとしましたが、やはり何も起こりません。

4

0 に答える 0