1

我需要不断改变我在 UIView 中绘制的所有线条的颜色。我在drawrect方法中画了所有的线来分配颜色。现在,只要显示视图,我就需要动画和更改颜色。有没有办法做到这一点?非常感谢!

4

2 回答 2

3

考虑为每条线使用一个实例CAShapeLayer,而不是在drawRect:. path您可以根据需要对每个图层和strokeColor属性的更改进行动画处理。

编辑

如果您只是绘制水平线,则最好只使用 a UIViewfor each。设置backgroundColor而不是实施drawRect:. 您可以使用(或更强大的变体)为frame属性和属性设置动画。这通常比使用 Core Animation 更简单。backgroundColor+[UIView animateWithDuration:animations:]

于 2013-03-12T07:45:54.843 回答
2

活到老,学到老。动画最好在外面完成-drawRect:

将您的“线条”更改UIView为作为(最好是不透明的)子视图添加到您的视图的单个实例。然后,您将backgroundColor在视图上设置适当的。

然后,您可以使用简单的 UIView 动画为它们设置动画。

于 2013-03-12T07:37:53.520 回答