我在试图用球内的图像连续旋转UIImageview
时遇到问题。我希望这个球在其中心轴上连续旋转。
我尝试过使用CGAffineTransform
但它没有用。
请帮忙!
答案 0 :(得分:80)
这可能是一个古老的Q,但它接近该主题的搜索结果的顶部。这是一个更加切割和干燥的解决方案:(确保导入QuartzCore / QuartzCore.h)
CABasicAnimation *rotation;
rotation = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];
rotation.fromValue = [NSNumber numberWithFloat:0];
rotation.toValue = [NSNumber numberWithFloat:(2*M_PI)];
rotation.duration = 1.1; // Speed
rotation.repeatCount = HUGE_VALF; // Repeat forever. Can be a finite number.
[yourView.layer addAnimation:rotation forKey:@"Spin"];
然后,停止删除/重置动画:(参见关于如何停止的注释)
[yourView.layer removeAnimationForKey:@"Spin"];
在swift:
let rotation = CABasicAnimation(keyPath: "transform.rotation")
rotation.fromValue = 0
rotation.toValue = 2 * M_PI
rotation.duration = 1.1
rotation.repeatCount = Float.infinity
view.layer.addAnimation(rotation, forKey: "Spin")
答案 1 :(得分:4)
如果您将变换用作:
,它应该有效itemToRotate.transform = CGAffineTransformRotate(itemToRotate.transform, currentAngle);
我上传了一些sample code工作解决方案。添加逻辑以自动旋转它......