具有持续时间和自动反转的iOS动画

Ahm*_* Z. 0 animation objective-c uiview uiimageview ios

我正在UIImageView使用UIView块API制作动画.我的动画UIImageView连续淡出In和Out.如何在特定的持续时间内为此设置动画?

我已经提出了这段代码

float tempDuration = 5.0;
[UIView animateWithDuration:tempDuration
                          delay:0
                        options:UIViewAnimationOptionAutoreverse | UIViewAnimationOptionAllowUserInteraction
                     animations:^{
                         _imageView.alpha = 1;
                     }
                     completion:nil];
Run Code Online (Sandbox Code Playgroud)

Tia*_*ida 7

首先,请允许我介绍一篇非常棒的文章来理解动画的一些功能:

控制动画调整

在本文中,您将有一个部分显示您想要的内容.

你想要这样的东西:

在此输入图像描述

因此,您可以通过以下方式配置它:

-(void) animateImageView:(UIImageView*) imageView 
            withDuration:(int) duration 
         withRepeatCount: (int) repeatCount {

     CABasicAnimation *opacityAnim = [CABasicAnimation animationWithKeyPath:@"opacity"];
     opacityAnim.fromValue = @1.0;
     opacityAnim.toValue = @0.0;
     opacityAnim.autoreverses = YES;
     opacityAnim.duration = duration/2.0/repeatCount;
     opacityAnim.removedOnCompletion = YES;
     opacityAnim.repeatCount = repeatCount;
     [imageView.layer addAnimation:opacityAnim forKey:nil];
 }
Run Code Online (Sandbox Code Playgroud)

这样,您可以保证动画始终为5秒,并且您可以调整重复次数.