iOS 图层的 3D 变换及相关特性
1. 3D 变换基础
在处理图层时,我们通常会涉及到变换操作。一个图层的 affineTransform 只是访问其变换的一个表面接口,而图层的真正变换是一个三维变换,即 CATransform3D 。当图层是视图的底层图层时,这个属性可以通过视图的 transform3D 来访问。
视图的 transform3D 围绕视图的中心进行变换,而图层的三维变换则围绕 anchorPoint 的三维扩展进行,其 z 分量由 anchorPointZ 属性提供,大多数情况下,我们会将 anchorPointZ 保持默认值 0.0 。
下面的代码展示了如何围绕图层的 y 轴翻转图层:
someLayer.transform = CATransform3DMakeRotation(.pi, 0, 1, 0)
默认情况下,图层被视为双面的。当图层翻转显示其“背面”时,会绘制图层内容的适当反转版本,包括其子图层。子图层默认仍绘制在图层前面,但会根据图层变换后的坐标系进行反转和定位。不过,如果图层的 isDoubleSided 属性为 false ,那么当它翻转显示“背面”时,图层(及其子图
超级会员免费看
订阅专栏 解锁全文
79

被折叠的 条评论
为什么被折叠?



