2011-03-28 126 views
0

我得到以下drawRect:方法的视图子类:核心动画自定义视图

- (void)drawRect:(CGRect)rect { 

    [myBackgroundImage drawInRect:rect]; 

    ... // more, complex drawing such as strings, lines, etc. 
} 

我想动画的背景图像转换到另一个背景图片,而视图其余的背景图像上面绘制保持不变。我会怎么做?我需要额外的CALayer吗?

回答

1

看起来您可能会使用多个图层:一个用于每个背景,另一个用于其他前景。这样就可以分别在每个图层上应用动画和转换。这是我在Flex with Sprite中成功使用的一种解决方案:使用分离的图形对象将移动/旋转/淡入以及应用于其中的任何一个的分离的图形对象组织到一个显示列表中。

作为一个设计原则,它应该适用于包括iOS在内的所有图形环境。

需要考虑的一件事:应用于子图层超层的变换一次会影响所有子图层。