ios - UIView无限360度旋转动画?

标签 ios objective-c animation uiview core-animation

我正在尝试将 UIImageView 旋转 360 度,并查看了一些在线教程。如果 UIView 不停止或跳转到新位置,我无法让它们工作。

  • 我怎样才能做到这一点?

我最近尝试的是:

[UIView animateWithDuration:1.0
                      delay:0.0
                    options:0
                 animations:^{
                     imageToMove.transform = CGAffineTransformMakeRotation(M_PI);
                 } 
                 completion:^(BOOL finished){
                     NSLog(@"Done!");
                 }];

但是如果我使用 2*pi,它根本不会移动(因为它是相同的位置)。如果我尝试只执行 pi(180 度),它会起作用,但如果我再次调用该方法,它会向后旋转。

编辑:

[UIView animateWithDuration:1.0
                      delay:0.0
                    options:0
                 animations:^{
                     [UIView setAnimationRepeatCount:HUGE_VALF];
                     [UIView setAnimationBeginsFromCurrentState:YES];
                     imageToMove.transform = CGAffineTransformMakeRotation(M_PI);
                 } 
                 completion:^(BOOL finished){
                     NSLog(@"Done!");
                 }];

也不行。它达到 180 度,暂停一秒钟,然后在再次开始之前重置回 0 度。

最佳答案

找到了一个非常适合我的方法(我稍微修改了一下):iphone UIImageView rotation

#import <QuartzCore/QuartzCore.h>

- (void) runSpinAnimationOnView:(UIView*)view duration:(CGFloat)duration rotations:(CGFloat)rotations repeat:(float)repeat {
    CABasicAnimation* rotationAnimation;
    rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
    rotationAnimation.toValue = [NSNumber numberWithFloat: M_PI * 2.0 /* full rotation*/ * rotations * duration ];
    rotationAnimation.duration = duration;
    rotationAnimation.cumulative = YES;
    rotationAnimation.repeatCount = repeat ? HUGE_VALF : 0;

    [view.layer addAnimation:rotationAnimation forKey:@"rotationAnimation"];
}

关于ios - UIView无限360度旋转动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19194323/

相关文章:

css - 强制转换元素以影响文档流

:hover后触发的CSS3自定义动画

ios - 在设置应用程序中看不到MyAppNotificationSettings选项

ios - 在 UIView2 上方显示 UIView1,但按输入方式将 UIView2 置于 UIView1 上方

ios - UIPickerView 不显示数据或调用 viewForRow

ios - 结合视频文件与 AVAssetWriter

iphone - 从另一个类访问 viewController 的方法

iphone - 如果我撤销我的开发者和分发,它会影响我的 Live 应用程序吗?

html - 从 HTML 中提取 URL 并保留文本(如果有)

swift - UIView 的动画颜色