objective-c - 使用 block 动画更改自定义绘制的 UIView 的颜色

标签 objective-c ios uiviewanimation

我有一个 UIView,它通过 drawRect 绘制自身。我使用核心图形并绘制贝塞尔曲线。我想要一个动画来改变在某些情况下绘制的贝塞尔曲线的颜色。然而,仅仅将颜色作为属性并在动画 block 中更改它是行不通的。我还需要确保它被正确地重绘。有什么方法可以做到这一点?我对 IOS 还很陌生

最佳答案

我不认为你能做你想做的事。系统有特殊的代码,知道如何动画化其可动画属性的变化,但它不支持动画化任何其他属性的变化。

要为颜色变化设置动画,您需要使用 CAShapeLayer 来进行绘图。形状图层的描边颜色和填充颜色属性是可设置动画的。

关于objective-c - 使用 block 动画更改自定义绘制的 UIView 的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8993432/

相关文章:

iphone - iPod 中的重要位置更改通知

ios - 如何在 Swift 中调整图像大小以响应 IBAction?

ios - 秒表应用程序不断崩溃

ios - 如何在需要时停止 UIView 动画?

ios - 如何在动画中点击按钮时使按钮消失

ios - 旋转图像查看随机

objective-c - 在 iOS 上,有没有更快的方法来获取 mainBundle 资源的 URL?

ios - 通过嵌入式 View Controller 返回导航 Controller 内部

iphone - 如何检查 NSMutableArray 是否包含值(null)?

iphone - 如何使用 revmob 运行本地通知