在创建了一个测试项目以帮助获得我最近在 SO(已删除)上提出的相关问题的一些答案后,在自定义子类中旋转图层时,我遇到了一个不同但类似的问题UIView
。
可以在这里看到 iPhone 模拟器会话的视频。
该图层看起来像是在 x/y 轴上以对角线旋转,而不是根据需要围绕 z 轴旋转。
执行旋转的代码在一个视图设置方法中,调用setAngle:
如下:
_imageLayer.transform = CATransform3DMakeRotation(angle / 180.0 * M_PI, 0.0, 0.0, 1.0);
(angle
度数在哪里)。
完整的 Xcode 项目可在此处获得。
最初的 SO 问题仅在更改设备方向后才显示此行为,因此我的理解似乎比我最初想象的要多(来自 OSX 背景,并且多次使用图层,我预计不会出现此类问题)。
所以我的问题是:为什么图层没有按需要围绕 z 轴旋转?