我使用Core Animation将一个视图围绕y轴旋转了50度。我希望视图的边缘能够触碰到屏幕的边缘。我知道视图的长度以及被旋转的角度(50度),所以起初,我认为可以使用三角函数来确定视图与边缘之间的距离。然而,相机的透视效果受到CATransform3D结构体的m34属性影响。那么,我该如何计算需要移动视图的距离才能将其与屏幕的边缘对齐?
CATransform3D rotation = CATransform3DIdentity;
rotation.m34 = -1.0/500.0;
rotation = CATransform3DRotate(rotation, 50.0 * M_PI / 180, 0.0, 1.0, 0.0);
view.layer.transform = rotation;
view.layer.zPosition = 200;
frame
是完全定义的。事实上,几个WWDC UIKit会话甚至有关于它如何工作的图表(请参见WWDC 2011 的 UIKit 渲染会话)。 - CodaFi