1

我正在尝试在我的回调中旋转我的 calayer 对象以获取旋转手势识别器,如下所示:

CGFloat angle = [(NSNumber *)[hitlayer valueForKeyPath:@"transform.rotation.z"] floatValue];

hitlayer.transform = CATransform3DMakeRotation( (angle+90) / 180.0 * M_PI, 0.0, 0.0, 1.0);

[hitlayer setValue:[NSNumber numberWithFloat:(angle+90)] forKey:@"transform.rotation.z"];

这第一次工作正常。但随后的时间,transform.rotation.z 返回的值仍然是原始值(不是转换后的值),因此图层不会进一步旋转。有什么我想念的想法吗?

谢谢

4

1 回答 1

2

transform属性不会更改视图或图层的边界或中心。它只是在绘制时应用一个转换,所以它看起来完全不同。因此,在您的情况下,您必须跟踪最后一个度数并在每次调用时添加 90。

于 2013-01-27T18:07:33.663 回答