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

标签 ios objective-c animation uiview uiimageview

我正在使用 UIView block API 为 UIImageView 设置动画。我的动画使 UIImageView 连续淡入淡出。我如何才能仅在特定的持续时间内对此进行动画处理?

这段代码我贴出来了

float tempDuration = 5.0;
[UIView animateWithDuration:tempDuration
                          delay:0
                        options:UIViewAnimationOptionAutoreverse | UIViewAnimationOptionAllowUserInteraction
                     animations:^{
                         _imageView.alpha = 1;
                     }
                     completion:nil];

最佳答案

首先请允许我介绍一篇很棒的文章,以了解动画的一些功能:

Controlling Animation Timming

在这篇文章中,您有一部分显示了您想要的内容。

你想要这样的东西:

enter image description here

因此您可以通过以下方式进行配置:

-(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];
 }

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

关于具有持续时间和自动反转的 iOS 动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20423545/

相关文章:

jquery - 如何使用 jquery 滑动打开的内容

javascript - jQuery 模糊不适用于 iOS

ios - ios 中的自动完成文本字段

ios - 无法在 XCODE STORYBOARD 中使用 FREEFORM

php - 表的 FMDB 结果到 JSON 对象,遵循列的顺序。

objective-c - 如何使用 Objective C 淡入淡出动画隐藏/显示窗口

javascript - onClick 没有运行功能?? (可能是 Javascript 错误?)

iphone - 应用拒绝 22.1

ios - 在 iOS map 上有条件地给 MKCircle 上色

ios - iPad:没有 "popup button"的 UISplitViewController ?