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

标签 iphone animation core-animation gradient quartz-2d

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

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

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

有什么想法吗?

最佳答案

是的,您确实可以使用核心动画对渐变进行动画处理。

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

I did a post on this class不久前,以及底部链接的一些示例代码。

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

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

关于iphone - 您可以在 iPhone 中使用 Quartz 制作渐变动画吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1819311/

相关文章:

ios - 在 iOS 版 Google map 中控制动画持续时间

iphone - Fidget Spinner 动画 Swift?

ios - iOS 8 中横向模式下不显示按钮

ios - UIView 中的 safeAreaInsets 在 iPhone X 上为 0

javascript - ionic 2 中的 Angular 2 动画

mapView.setRegion 动画的 Swift 完成处理程序?

ios - 在 AVMutableVideoComposition 中创建一个按时间间隔更改的 CATextlayer

ios - CAKeyframeAnimation 手动进度

iphone - ASIHTTPRequest,EXC_BAD_ACCESS 当请求完成时

iphone - 创建 iOS Facebook SDK 静态库