我有一个 UIView,它通过 drawRect 绘制自身。我使用核心图形并绘制贝塞尔曲线。我想要一个动画来改变在某些情况下绘制的贝塞尔曲线的颜色。然而,仅仅将颜色作为属性并在动画 block 中更改它是行不通的。我还需要确保它被正确地重绘。有什么方法可以做到这一点?我对 IOS 还很陌生
最佳答案
我不认为你能做你想做的事。系统有特殊的代码,知道如何动画化其可动画属性的变化,但它不支持动画化任何其他属性的变化。
要为颜色变化设置动画,您需要使用 CAShapeLayer 来进行绘图。形状图层的描边颜色和填充颜色属性是可设置动画的。
关于objective-c - 使用 block 动画更改自定义绘制的 UIView 的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8993432/