1

我正在将 CALayer 用于交互式书籍引擎,并希望围绕它的中心旋转 CALayer,但是当我对 CALayer 应用旋转变换(使用基于用户输入的角度)时,它变得疯狂:图层以非常奇怪的方式拉伸和移动并消失。我所做的是

[CATransaction begin];
[CATransaction setValue: (id) kCFBooleanTrue forKey: kCATransactionDisableActions];
...
layer.transform = CATransform3DMakeRotation(angle, 0, 0, 1);
...
[CATransaction commit];

有趣的是,当我的角度是 M_PI 或 M_PI/2,或者它的比例变换时一切正常,但是当它的旋转和任何其他角度层变得疯狂时。

有谁知道发生了什么以及如何解决它?

4

1 回答 1

2

自己找到了原因:这是因为我并行移动了图层.frame而不是.position属性:框架属性本身是根据变换计算的,因此设置它会产生“疯狂”的行为。

于 2013-08-07T04:23:31.500 回答