我有一个带有几个CAShapeLayers的CATransformLayer作为它的孩子。 CAShapeLayers在3D空间中处于不同的z位置。一旦我用3D旋转整个场景,一些CAShapeLayers在某些角度消失,但他们不应该。很明显它们仍然应该在屏幕上可见。
当进一步旋转时,它们会重新出现。
我该怎么做才能确保我的图层在屏幕上始终可见?
这是一个小型演示项目,很好地展示了这个问题。我还应该说我通过调整变换的m34来使用透视。
设置0是Idenditiy +透视图 设置1& 2是旋转方式非常接近,只有一个设置圆圈消失而另一个不是
https://dl.dropboxusercontent.com/u/40859730/Disappearing.zip
答案 0 :(得分:0)
我发现你必须设置CATransformLayer的所有子层的frame属性,以使它们不会消失或有错误的z-Ordering。
虽然这会导致我的下一个问题 - 设置帧时性能会显着下降: CATransformLayer - Performance issues when setting frame of sublayers