我正在使用CATransform3D转换一个UIView的图层。问题是我无法在其上方显示其他控件(不是此转换视图的子视图)。
例如这段代码:
[UIView flipTransitionFromView:self.standardImageView
toView:self.flippedImageView
duration:1.0f
completion:NULL];
[self.view insertSubview:flippedCloseButton aboveSubview:flippedImageView];
不起作用 - flippedCloseButton总是在flippedImageView后面。
flipTransitionFromView
是一种仅进行所述3d变换的方法。
非常感谢任何有关如何解决它的想法!
修改
我有点通过修改视图图层的'zPosition:
来解决它self.flippedCloseButton.layer.zPosition = self.flippedImageView.layer.zPosition + 1;
但这是正确的方法吗?
安德
答案 0 :(得分:0)
我遇到了类似的问题,但更改zPosition并没有解决问题。在给图层提供透视时使用zPosition(当z更大时它看起来更小),但并不意味着宽容我相信的可见性序列。
我不完全了解发生了什么,但是当多个子层存在于同一“层级”时,“可见的内容”这个问题没有明确定义。我甚至可以看到一部分层是可见的而另一部分则不是。
在我的情况下,我通过在超级层中放置必须位于顶部的元素来解决这个问题。这确保了它们始终可见。
在图层和动画方面,我绝不是专业人士,但在教育自己的过程中,我制作了一个应用程序(PerspectiveTest),它解释了图层参数和透视图如何协同工作的一些基础知识。可能会有所帮助: http://itunes.apple.com/nl/app/perspectivetest/id481006743?mt=8
此致 Voppe