ios - ImageView动画,循环遍历图片

标签 ios swift uiimageview uianimation

所以我想在加载屏幕上为 UIImageView 制作动画,有人告诉我内置的“animationImages”方法占用大量内存并且编程不好,所以我不会使用它,我也有问题有了它,但这不是重点。

下面的代码几乎可以工作,但即使我放了 3 秒,它的动画速度也太快了。

func animate() {

    UIView.animateWithDuration(3, animations: { () -> Void in

        self.logoImageView.image = UIImage(named: "00")
        self.logoImageView.image = UIImage(named: "02")
        self.logoImageView.image = UIImage(named: "03")
        self.logoImageView.image = UIImage(named: "04")
        self.logoImageView.image = UIImage(named: "05")
        self.logoImageView.image = UIImage(named: "06")
        self.logoImageView.image = UIImage(named: "07")
        self.logoImageView.image = UIImage(named: "08")
        self.logoImageView.image = UIImage(named: "09")
        self.logoImageView.image = UIImage(named: "10")
        self.logoImageView.image = UIImage(named: "11")
        self.logoImageView.image = UIImage(named: "12")
        self.logoImageView.image = UIImage(named: "13")
        self.logoImageView.image = UIImage(named: "14")
        self.logoImageView.image = UIImage(named: "15")
        self.logoImageView.image = UIImage(named: "16")
        self.logoImageView.image = UIImage(named: "17")
        self.logoImageView.image = UIImage(named: "18")
        self.logoImageView.image = UIImage(named: "19")
        self.logoImageView.image = UIImage(named: "20")
        self.logoImageView.image = UIImage(named: "21")
        self.logoImageView.image = UIImage(named: "22")
        self.logoImageView.image = UIImage(named: "23")
        self.logoImageView.image = UIImage(named: "24")
        self.logoImageView.image = UIImage(named: "25")
        self.logoImageView.image = UIImage(named: "26")

        }) { (success) -> Void in

            self.fadeInLabel()
    }

但是,下面的代码在欢迎标签中淡出并且工作正常所以我想知道上面的问题是什么。谢谢您的帮助!

func fadeInLabel() {

    UIView.animateWithDuration(2, animations: { () -> Void in

        self.labelImageView.alpha = 1

        }) { (success) -> Void in

          self.performSelector("pushToCreateVC", withObject: self, afterDelay: 1)
    }

}

最佳答案

如果你想为图像设置动画,你可以使用 UIImageViewanimationImages 属性

self.logoImageView.animationImages = imagesListArray;
self.logoImageView.animationDuration = 3.0
self.logoImageView.startAnimating()

其中 imagesListArray 是您想要制作动画的图像数组

如果你想用自定义动画为图像设置动画,你可以使用下面的代码,我使用了 UIViewAnimationOptionTransitionFlipFromLeft 动画选项。下面的代码在 Obj-C 中,我希望你可以映射语义。

// in view Load
 _slide = 0
 [self changeSlide];

// Loop gallery 
NSTimer *timer = [NSTimer timerWithTimeInterval:5.0f target:self selector:@selector(changeSlide) userInfo:nil repeats:YES];
[[NSRunLoop mainRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];


- (void)changeSlide
{

if(_slide > _galleryImages.count-1) _slide = 0;

UIImage *toImage = [UIImage imageNamed:_galleryImages[_slide]];
[UIView transitionWithView:_yourimageView
              duration:0.6f
               options:UIViewAnimationOptionTransitionFlipFromLeft
            animations:^{
                _yourimageView.image = toImage;

            } completion:nil];
_slide++;

}

关于ios - ImageView动画,循环遍历图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33728145/

相关文章:

ios - 找不到 Cocoapods 终端设置 'edit' 命令?

ios - 使用自定义 SKAction 的 EaseOut Action

ios - UIImageView 数组不显示内容?

ios - Swift:编辑从相机拍摄的图像以填充 UIImageView

ios - 自定义 iOS 键盘访问没有完全访问权限的容器

ios - 如何在 Swift、SpriteKit 中将矩形附加到圆形并与其一起旋转

iOS 释放触摸事件以将数据加载到 UIWebview

objective-c - 成员 'observe' 不能用于协议(protocol)类型的值;改为使用通用约束

json - 将 UISearchController 与 swift 中的异步结果更新集成

ios - uiimageview 上的特定形状图像