Louis - 感谢您的输入。这是我所做的,以及我目前的问题,我不明白。iPhone图层管理 - 最佳实践
菜单(2)是响应触摸的UIImageView。每个人都是自己的班级。你称之为“精灵”也会对触摸做出反应。
在.m中,我将菜单和图片添加到图层,通过以下代码创建了两个容器图层:menuContainer = [CALayer图层]。
我使用spriteContainer上方的menuContainer对它们进行了排序。现在,精灵在菜单下方移动 - 非常棒!但在这个过程中,精灵停止响应触摸(我可以理解,因为它们在menuContainer层下面),并且菜单也停止响应触摸(不明白)。继续混淆这种情况,添加到menuContainer中的图层通过弹出滑块来响应多点触控手势,但仍会读取多点触控并弹出滑块,但我无法滑动滑块。这使我彻底混淆了。
谢谢。
我的应用程序正在建立一个背景图层,然后建立一些应该始终位于顶部的菜单图层。在此之后,我添加了许多移动图层,并很快移除了许多移动图层。
我的问题是我想我的菜单图层(有4个)总是在其他图层的前面。我曾想过构建一个图层层次结构,并使用insertsublayer:atindex:方法,使菜单的名义索引为1000,并将大量移动图层插入较低索引处(如200)。如果我在200处插入一个图层,然后接下来是200,分配给200的第一层是否会移位(到201)还是会被吹走?
我已经尝试插入图层与插入:下面:,但是这并没有给我想要的结果。
感谢您的帮助。
这是一个很好的问题。我也想知道为什么苹果公司不仅仅以Z坐标属性的形式包含Z排序机制。 – Amagrammer
假设你正在讨论CoreAnimation-Layers,你会发现实际上有一个zPosition属性,另外还有一个可自由调整的CATransform3D。但是,这些属性都只考虑到了兄弟姐妹。因此,如果您需要完整的3D对象/动画,CoreAnimation不可用。插入的次序是计算哪个图层在另一个图层上绘制的。 – Till
实际上,如果您在CATransformLayer中放置了一堆图层,则可以复制一些非常复杂的3-D效果。唯一真正的限制,3-D明智的是,CALayers必须是矩形的。 –