创建测试项目后,为了帮助获取
相关问题的一些答案,我最近在SO
(已删除)上询问,我遇到了一个不同的,虽然类似的问题,旋转一层自定义UIView
子类。图层以x/y轴而不是z轴旋转
可以看到iPhone模拟器会话的视频here。
根据需要,图层看起来像是在x/y轴上旋转,对角线上,而不是围绕z轴旋转。
执行旋转的代码称为setAngle:
如下的图setter方法中:
_imageLayer.transform = CATransform3DMakeRotation(angle/180.0 * M_PI, 0.0, 0.0, 1.0);
(其中angle
为度)。
完整的Xcode项目可用here。
最初的SO问题只是在设备方向发生变化后才显示出这种行为,所以看起来在我的理解中存在比我第一次想到的更多的空白(来自OSX背景,并且多次使用图层,我预期不会这些问题)。
所以我的问题是:为什么不是根据需要围绕z轴旋转的层?
我得到了这个地方,它涉及如何设置图层'框架。如果我设置了“边界”和“位置”,那么图层就像平常一样旋转,但是这个关键似乎是获得了视图的宽度/高度,这说明了设备方向。这是我的理解缺乏的地方... – trojanfoe 2013-02-16 12:05:13