我目前在Interface Builder中内置了一个用户界面 - 它基本上由背景图片和一些标签组成。我需要在标签下方但在背景上为一些元素(图像)设置动画,但我还需要以特定的z顺序绘制它们。
我环顾四周,碰到了CATransformLayer--我还在调查它。这是管理图像Z顺序以模拟3D的最佳方法吗?我不想使用Open GL作为我正在做的动画将是非常简单的假3D ...
答案 0 :(得分:2)
<强>背景强>
在iPhone上,UIViews有一个子视图NSArray。首先绘制UIWindow,然后按顺序绘制其子视图,然后绘制子视图。此外,还有第二个层次结构:每个UIView都有一个CALayer数组。根CALayer首先绘制,然后按顺序绘制每个CALayer。
<强>建议:强>
是的,您可以按照概述的方式进行操作。但是,如果您执行以下操作,代码可能会更简单一些:
在您的特定情况下,使用UIView来保存背景。给它两个子视图,最初是透明的,全尺寸的,在Interface Builder中设置弹簧和支柱,以保持背景的完整大小。在Interface Builder的大纲视图(-0)中排列它们,以便在UIView ButtonViewHolder 之前列出UIView ImageViewHolder 。
这样,您可以从 ImageViewHolder UIView中插入和删除UIImageViews,它们将被绘制在背景上方,并且位于UIButtons下方。