我正在尝试了解如何为我的UIView
创建深度感知:
我试过这段代码:
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
大小等?
谢谢你!
答案 0 :(得分:2)
CATransform3DRotate
期望弧度不是度数。你旋转22.5弧度,就像1200度。这可能就是你的图像倒置的原因。你可能想用这个:
let radians = 22.5 * M_PI / 180
rotationWithPerspective = CATransform3DRotate(rotationWithPerspective, radians, 0, 1, 0);
答案 1 :(得分:1)
2)
您可以在Nick Corewood的iOS核心动画 - 高级技术中阅读更多相关信息。希望有所帮助。