核心图:如何在设备方向改变时动态更改plotSpace.xRange?

时间:2012-10-19 11:30:14

标签: ios core-plot xrange

我有一个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”中,但是再次发生这种情况。

0 个答案:

没有答案