我们既然可以在3D场景下旋转图层,那么也可以从背面去观察它。如果我们在清单5.4中把角度修改为M_PI
(180度)而不是当前的 M_PI_4
(45度),那么将会把图层完全旋转一个半圈,于是完全背对了相机视角。
那么从背部看图层是什么样的呢,见图5.14
图5.14 视图的背面,一个镜像对称的图片
如你所见,图层是双面绘制的,反面显示的是正面的一个镜像图片。
但这并不是一个很好的特性,因为如果图层包含文本或者其他控件,那用户看到这些内容的镜像图片当然会感到困惑。另外也有可能造成资源的浪费:想象用这些图层形成一个不透明的固态立方体,既然永远都看不见这些图层的背面,那为什么浪费GPU来绘制它们呢?
CALayer
有一个叫做doubleSided
的属性来控制图层的背面是否要被绘制。这是一个BOOL
类型,默认为YES
,如果设置为NO
,那么当图层正面从相机视角消失的时候,它将不会被绘制。# 背面