您可以在 iPhone 中使用 Quartz 制作渐变动画吗?

2024-03-20

我是 iPhone 开发新手,目前正在尝试重新创建我为 Silverlight 开发的图表工具。

目前,我正在使用渐变来“填充”代表图表中条形的矩形。是否可以为该渐变设置动画,以便当用户触摸图表中的条形时它会改变颜色。

我已经浏览了 Apple 提供的核心动画指南,但看不到针对渐变的属性。我想我可以使用过渡在两个矩形之间淡入淡出,其中一个具有起始渐变,第二个具有“触摸”版本,但这显然意味着为每个条形绘制多个矩形对象,并且我假设有额外的性能开销。

有任何想法吗?


是的,您确实可以使用 Core Animation 来制作渐变动画。

3.0 中出现的 CAGradientLayer 类有一个很好的 API,用于将渐变渲染到图层中,以及对颜色和颜色停止变化进行动画处理。

我在这门课上发了一篇文章 http://tumbljack.com/post/188089679/gpu-accelerated-awesomeness-with-cagradientlayer不久前,以及底部链接的一些示例代码。

在示例中,我通过构建 CABasicAnimation 来对渐变进行动画处理,但您也可以通过将新的颜色数组传递到渐变层的颜色属性来隐式对更改进行动画处理。使用隐式动画,除非有理由不这样做。

检查一下,如果您对要设置动画的 UI 有任何特定问题,请告诉我。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

您可以在 iPhone 中使用 Quartz 制作渐变动画吗? 的相关文章

随机推荐