【问题标题】:Core-Plot iPhone Animation Examples核心情节 iPhone 动画示例
【发布时间】:2010-01-15 11:10:32
【问题描述】:

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

我需要看到一个示例,说明当有人单击按钮时如何使用 core-plots 动画向图表添加额外的情节。

如果有人可以制作和举例,或者给我一个链接,那就太好了。

问候, 克雷格

【问题讨论】:

    标签: iphone animation core-plot


    【解决方案1】:

    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 测试应用程序现在包含上述淡入动画的示例。

    【讨论】:

    • 布拉德,我已经看到你的解决方案在谷歌代码的示例程序中是如何工作的。在我的问题中,我希望动画在单击按钮后开始,这通过将动画代码复制到按钮单击事件中不起作用。有什么帮助吗?
    • 动画放置在哪里都没有关系,它应该以相同的方式工作。你确定按钮点击会触发你的方法吗?在示例代码中,没有在 -viewDidLoad 方法之外维护对 dataSourceLinePlot 的引用。确保在你的方法中对该图的引用是正确的,这样动画就不会被添加到错误的层或 nil。
    • 对不起,布拉德,我已将按钮操作连接到错误的事件(拖到外部)...问题已解决。喜欢 Core-Plot,希望看到更多功能。
    • 如果我想动画线连接点到点我该怎么做。 (我可以提供的动画密钥路径)请帮助我