1,绕x,y,z轴旋转一样,只是改变下参数,下面会说明
方法一:旋转时过渡平滑
CABasicAnimation* rotationAnimation;
//绕哪个轴,那么就改成什么:这里是绕y轴 ---> transform.rotation.y
rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.y"];
//旋转角度
rotationAnimation.toValue = [NSNumber numberWithFloat: M_PI];
//每次旋转的时间(单位秒)
rotationAnimation.duration = 0.3;
rotationAnimation.cumulative = YES;
//重复旋转的次数,如果你想要无数次,那么设置成MAXFLOAT
rotationAnimation.repeatCount = 0;
[yourView.layer addAnimation:rotationAnimation forKey:@"rotationAnimation"];
方法二:如同方法一,但是过渡时效果没有方法一的舒服,感觉差那么一点
//@param duration 持续时间
//@param delay 延时时间
//@param options 方式
[UIView animateWithDuration:3
delay:0
options:UIViewAnimationOptionRepeat
animations:^{
//你想绕哪个轴哪个轴就为 1,其中的参数(角度, x, y, z)
yourView.layer.transform=CATransform3DMakeRotation(M_PI, 0, 1, 0);
}
completion:^(BOOL finished) {
//你想绕哪个轴哪个轴就为 1,其中的参数(角度, x, y, z)
yourView.layer.transform=CATransform3DMakeRotation(M_PI, 0, 1, 0);
}];