2010-01-15 119 views
10

我一直在研究iPhone的核心情节,我无法找到任何实际使用动画的例子。核心剧情iPhone动画示例

我需要看到的是如何在有人点击按钮时使用核心图动画向图中添加额外图的示例。

如果任何人都可以制作并举例,或者展示给我一个链接,那就太棒了。

问候, 克雷格

回答

13

核心地块内的官方CPAnimation类都只是存根现在。在某个时候,我们将启用这些功能的全部功能。与此同时,Core Plot中的每个可见元素都是Core Animation CALayer,因此您可以使用现有的Core Animation方法为这些元素设置动画效果。举例来说,如果你有一个名为dataSourceLinePlot情节(比如在测试核心情节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测试应用程序现在包含上述淡入动画的示例。

+0

布拉德,我已经看到你是如何解决方案在谷歌代码的示例程序工程。 在我的问题中,我希望动画在点击按钮后启动,但这不会将动画代码复制到按钮单击事件中。任何帮助? – 2010-01-18 11:35:28

+0

放置动画的位置并不重要,它应该以相同的方式工作。你确定按钮点击触发你的方法吗?在示例代码中,对dataSourceLinePlot的引用不在-viewDidLoad方法之外维护。确保在你的方法中对这个图的引用是正确的,这样动画就不会被添加到错误的图层中,或者不会被添加到nil。 – 2010-01-18 15:58:19

+0

对不起Brad,我把按钮动作连接到了错误的事件上(拖到外面)......问题解决了。 爱的核心剧情,很想看到更多的功能。 – 2010-01-19 13:29:51