带有动画内容的CATiledLayer

时间:2011-04-29 14:14:32

标签: animation view redraw catiledlayer

我有一个由CATiledLayer支持的UIView。我的设置目前非常流畅,但是当我想在这个CATiledLayer上为某些视图对象设置动画时,恐怖就开始了。

我已经读过,我可以强制CATiledLayer使用setNeedsDisplay重绘自己。但这实际上重绘了屏幕上的所有内容。所以所有的瓷砖都会重新加载。

当动画制作动画时,我该如何更新图层?让我们以下面的例子为例:我的图层上有6个绿色矩形,当我按下UIButton时,我想将矩形编号4的颜色更改为红色,并在贝塞尔曲线上重新定位矩形1 2和3。

1 个答案:

答案 0 :(得分:2)

您可以使用CATiledView:setNeedsDisplayInRect:仅拉伸图层的某些部分。

在你的情况下你应该:

  1. 用新颜色重绘4
  2. 重新绘制1,2和3的旧位置,没有矩形
  3. 在1,2和3上重新绘制新职位