我正在尝试在我的回调中旋转我的 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 返回的值仍然是原始值(不是变换后的值),因此图层不会进一步旋转。有什么想法我想念的吗?
谢谢
最佳答案
transform
属性不会更改 View 或图层的边界或中心。它只是在绘制时应用转换,所以它看起来完全不同。因此,在您的情况下,您必须跟踪最后的度数值并在每次调用时添加 90。
关于ios - 层旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14549977/