rotationWithPerspective

rotationWithPerspective

我试图了解如何创建对我的UIView敏感的深度,如下所示:

ios - 了解CATransform3DRotate/CATransform3DMakeRotation-LMLPHP

我已经试过这段代码:

var rotationWithPerspective = CATransform3DIdentity;
rotationWithPerspective.m34 = -1.0/500.0/2/2
rotationWithPerspective = CATransform3DRotate(rotationWithPerspective, 22.5, 0, 1, 0);
preview.layer.transform = rotationWithPerspective

产生视角。但是,由于某种原因,它会翻转视图。

1)如何避免变换后的“翻转”?

2)转换产生的“透视深度”对于每个给定的UIView是否相同,还是取决于UIView的大小等?

谢谢!

最佳答案

CATransform3DRotate期望弧度而不是度。您正在旋转22.5弧度(例如1200度)。这可能就是为什么您的图像倒置的原因。您可能要使用此:

let radians = 22.5 * M_PI / 180
rotationWithPerspective = CATransform3DRotate(rotationWithPerspective, radians, 0, 1, 0);

08-27 09:45