核心绘图 iPhone 动画示例

10

我一直在研究iPhone上的Core Plot,但是我很难找到实际使用动画的示例。

我需要看到一个示例,演示如何使用Core Plot的动画在点击按钮时向图形添加额外的绘图。

如果有人能提供一个示例,或者给我一个链接,那就太棒了。

谢谢, Craig

1个回答

13

目前,Core Plot中的官方CPAnimation类只是存根。在某个时候,我们将启用这些类的全部功能。

与此同时,Core Plot中的每个可见元素都是一个Core Animation CALayer,因此您可以使用现有的Core Animation方法对这些元素进行动画处理。例如,如果您有一个名为dataSourceLinePlot的图表(就像在测试Core Plot iPhone应用程序中一样),您可以从0.0的不透明度开始绘制:

dataSourceLinePlot.opacity = 0.0f;
[graph addPlot:dataSourceLinePlot];

然后通过动画将其不透明度变化以实现淡入效果:

CABasicAnimation *fadeInAnimation = [CABasicAnimation animationWithKeyPath:@"opacity"];
fadeInAnimation.duration = 1.0f;
fadeInAnimation.removedOnCompletion = NO;
fadeInAnimation.fillMode = kCAFillModeForwards;
fadeInAnimation.toValue = [NSNumber numberWithFloat:1.0];
[dataSourceLinePlot addAnimation:fadeInAnimation forKey:@"animateOpacity"];

这会在一个现有的图表上以一秒的时间间隔淡入一个新的图形。您也可以类似地将其从侧面动画显示,或使用变换将其缩放到位置上。CATransitions也可用于实现这些效果。

编辑(2010年1月17日):Core Plot iPhone测试应用程序现在包含了上述淡入动画的示例。


Brad,我看到你在Google Code的示例程序中是如何解决问题的。在我的问题中,我希望动画在点击按钮后开始播放,但将动画代码复制到按钮点击事件中并没有起作用。需要帮助吗? - Craig Warren
无论动画放置在哪里,它都应该以相同的方式工作。您确定按钮单击正在触发您的方法吗?在示例代码中,对dataSourceLinePlot的引用未在-viewDidLoad方法之外维护。确保在您的方法中引用此情节是正确的,以便动画不会添加到错误的图层或nil。 - Brad Larson
抱歉Brad,我将按钮操作连接到了错误的事件(拖动到外面)...问题解决了。喜欢Core-Plot,希望能看到更多功能。 - Craig Warren
如果我想要将线条连接点进行动画处理,应该如何实现呢?(请提供可以使用的动画关键路径)请帮助我。 - ram880

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接