我正在使用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,或者它的比例变换时,一切都没问题,但是当它的旋转和任何其他角度层变得疯狂时。
有人知道发生了什么以及如何解决它吗?
答案 0 :(得分:2)
我自己找到了原因:这是因为并行使用.frame
代替.position
属性移动了图层:框架属性本身是根据变换计算的,因此设置它会产生“疯狂”行为。 / p>