iphone - Objective-C CALayer UIView 真实旋转

标签 iphone objective-c rotation calayer transformation

我正在尝试旋转 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/

相关文章:

vector - 四元数的方向向量?

iphone - 在Mac+Tomcat上设置Hudson的进程用户

iphone - UITableViewCell subview 直到重绘才显示

ios - 设备方向快速变化时如何旋转按钮?

c - 寻找二维三角形的中心?

objective-c - 制作 Objective-C 类的不可变和可变版本的最有效方法是什么?

ios - 音译/转置 NSString 中的字符

iphone - 移除 iOS 6 ScrollView 居中对齐

iphone - 了解崩溃日志 - KERN_PROTECTION_FAILURE

ios - 无法在沙箱外部为 THEOS Tweak 创建目录