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

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

我查看了Apple提供的核心动画指南,但看不到以渐变为目标的属性。我想我可以在两个rects之间使用转换淡入淡出,其中一个具有我的起始渐变,第二个具有'触摸'版本,但这意味着显然为每个条形图绘制多个rect对象,我假设额外的性能开销。

有什么想法吗?

有帮助吗?

解决方案

是的,确实你可以用Core Animation动画渐变。

3.0中出现的CAGradientLayer类有一个很好的API,用于将渐变渲染到图层中,并为颜色和颜色停止变化设置动画。

我在这堂课上发了一篇帖子返回,以及一些在底部链接的示例代码。

在示例中,我通过构建CABasicAnimation为渐变设置动画,但您也可以通过将新的颜色数组传递到渐变图层的colors属性来隐式地为变化设置动画。使用隐式动画,除非您有理由不这样做。

检查一下,如果您对要制作动画的用户界面有任何疑问,请告诉我。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top