我有一个CATransformLayer,它的孩子有几个CAShapeLayers。CAShapeLayers在3D空间中处于不同的z位置。一旦我在3D中旋转整个场景,一些CAShapeLayers会以特定的角度消失,但它们不应该消失。这是绝对清楚的,它们仍然应该在屏幕上可见。
再旋转一点,它们就会再次出现。
我能做些什么来确保我的图层在屏幕上总是可见的?
这里有一个小演示项目,它很好地展示了这个问题。我还应该说,我通过调整转换的m34来使用透视图。
设置0是Idenditiy +透视图设置1和2是非常接近旋转的,只是一个设置的圆圈消失了,而另一个没有。
https://dl.dropboxusercontent.com/u/40859730/Disappearing.zip
发布于 2014-04-15 18:44:52
我发现您必须设置CATransformLayer的所有子层的框架属性,以便使它们不消失或有错误的z排序。
尽管这导致了我的下一个问题--当设置帧时,性能显著下降:CATransformLayer - Performance issues when setting frame of sublayers
https://stackoverflow.com/questions/23042557
复制相似问题