我在iOS应用程序中有一个Core Plot散点图,我用它来显示一些数据。当视图加载时,我计算绘图的理想范围以使其在屏幕上适合其数据。我允许用户缩放和平移,但包含一个按钮可将图形返回到理想范围。
按钮有效,范围也会发生变化,但变化可能会有点刺耳。由于突然的变化,一个人失去了他们对情节的心理“地图”。根据地图应用的需要,动画平移和缩放会更好。
我没有在Core Plot中看到任何允许动画的内容,但我可能错过了一些东西。有没有办法用Core Plot(或它的一个分支)或一个相当简单的方法来手动完成它?
答案 0 :(得分:5)
如果有人现在对此感到疑惑,那么Eric的修复已经到位,您现在可以使用以下代码为范围设置动画:
CPTPlotRange *xRange = [CPTPlotRange
plotRangeWithLocation:CPTDecimalFromDouble(location)
length:CPTDecimalFromDouble(length)];
[CPTAnimation animate:plotSpace // CPTPlotSpace *
property:@"xRange"
fromPlotRange:plotSpace.xRange
toPlotRange:xRange
duration:5.0
withDelay:0
animationCurve:CPTAnimationCurveCubicInOut
delegate:nil];
答案 1 :(得分:1)
现在可用的最佳解决方案是使用计时器以小步长调整范围。我正在研究一个更通用的解决方案,但它还没有准备好包含在公共代码中。观看Core Plot issue #398上的状态,了解修补程序何时可用。