【问题标题】:calayer rotation层旋转
【发布时间】:2023-04-03 13:57:01
【问题描述】:

我正在尝试在我的回调中旋转我的 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 返回的值仍然是原始值(不是转换后的值),因此图层不会进一步旋转。任何想法我错过了什么?

谢谢

【问题讨论】:

    标签: ios calayer


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2015-06-28
      • 1970-01-01
      • 2011-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多