此代码
CATransform3D perspectiveTransform = CATransform3DIdentity;
perspectiveTransform.m34 = -1.0 / 1000.0;
perspectiveTransform = CATransform3DRotate(perspectiveTransform, angle / 2.0, 0.0, 1.0, 0.0);
self.sublayerTransform = perspectiveTransform;
给出了这个结果
红框是图层的背景色
此代码
CATransform3D perspectiveTransform = CATransform3DIdentity;
perspectiveTransform.m34 = -1.0 / 1000.0;
// following line is added
perspectiveTransform = CATransform3DTranslate(perspectiveTransform, -width / 2.0, 0, 0);
perspectiveTransform = CATransform3DRotate(perspectiveTransform, angle / 2.0, 0.0, 1.0, 0.0);
self.sublayerTransform = perspectiveTransform;
给出了这个结果
红框是图层的背景色
在"尝试A"的渲染示例中从左中心看到,因此从错误的角度看到折叠(左折叠比右折叠略薄)
通过在x轴上进行平移,如在"尝试B",我能够正确渲染它,但是又出现了另一个错误:内容现在超出界限(红色矩形是边界)。
如何从中间拍摄相机?
答案 0 :(得分:-1)
好吧,似乎更改锚点是最简单的。我只需要更改其他一些转换(不在帖子中显示)以使其正常工作。