【发布时间】:2025-10-29 08:15:02
【问题描述】:
我使用CABasicAnimation 使用以下代码连续旋转UIImageView:
CABasicAnimation *fullRotation = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];
fullRotation.fromValue = [NSNumber numberWithFloat:0];
fullRotation.toValue = [NSNumber numberWithFloat:M_PI * 2];
fullRotation.duration = 6;
fullRotation.repeatCount = HUGE_VAL;
[self.myImageView.layer addAnimation:fullRotation forKey:@"360"];
动画按预期工作,但是当我记录旋转角度时,它从0 变为180,然后从-180 变为0。我希望它从0 到360 然后回到0。
我正在使用以下代码来获取旋转角度:
CGFloat radians = [[self.myImageView valueForKeyPath:@"layer.presentationLayer.transform.rotation.z"] floatValue];
CGFloat degrees = (radians * (180 / M_PI));
NSLog(@"ROTATION = %f", radians);
【问题讨论】:
标签: ios objective-c rotation transform cabasicanimation