我有一个iOS应用程序,有许多图表。我希望在横向模式下显示图表时修改xRange值,但我不能让Core Plot这样做。
我试图通过调用
完全重新创建图表[graph removePlotWithIdentifier:@"myGraphName"];
我希望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”中,但是再次发生这种情况。