我正在尝试旋转 UIView 对象,如下图所示 http://i.piccy.info/i7/f8ff7fe488c7c492e6ff6a689bc9cdeb/1-5-2127/60800682/rotation.png
我正在尝试使用 CALayer 的转换,但我得到这样的结果: http://i.piccy.info/i7/bbb672b058fdfdd251cc90f1ce2b9c1f/1-5-2128/9488743/rotate2.png
最佳答案
如果我理解正确,您希望将 View 向后标题(进入屏幕),并且应该能够实现如下所示:
float distance = 50;
CATransform3D basicTrans = CATransform3DIdentity;
basicTrans.m34 = 1.0 / -distance;
view.layer.transform = CATransform3DRotate(basicTrans, M_PI_4, 1.0f, 0.0f, 0.0f);
要实现此效果,您需要直接操作其中一个变换值 (m34)。 距离
越小,效果越强。然后您可以绕 x 轴进行旋转变换(倾斜),在本例中为 PI/4 或 45 度。您可以使用度 * M_PI/180.0
计算任意值 pi。
关于iphone - Objective-C CALayer UIView 真实旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8271416/