如何在循环内多次为UIView设置动画并跟踪每个动画事件

时间:2018-03-22 19:33:17

标签: ios swift animation

usage: cp [-R [-H | -L | -P]] [-fi | -n] [-apvXc] source_file target_file
       cp [-R [-H | -L | -P]] [-fi | -n] [-apvXc] source_file ... target_directory

这是我用来动画UIView的代码。我想要做的是多次为UIView制作动画。这可以使用UIView.setAnimationRepeatCount(3.0)来完成,但问题是我有一个不同的图像数组,我想在每个动画的UiView中显示。任何人都知道如何做到这一点

2 个答案:

答案 0 :(得分:0)

使用animatedImage的{​​{1}}属性为图片视图中的多个图片添加动画效果。

UIImage

其中ImageView.image = UIImage.animatedImage(with: myImages, duration: 1.0) 是您要设置动画的图像数组。 有关详细信息,请按此link进行操作。

编辑:绝对是一种非常粗暴的方式,但它确实有效。

在课堂上宣布这一点。

myImages

我在viewdidload中调用了animateView()

let arrayColors = [UIColor.red , UIColor.green, UIColor.blue]
var animationCount = 0

设置颜色数组,可以使用图像数组来设置imageview.image = arrayImage [animationCount]

答案 1 :(得分:0)

似乎通过以下代码解决:

UIView.animate(withDuration:3.0,动画:{             打印("动画开始")             self.leadng.constant = self.view.frame.size.width + self.vwObj.frame.size.width             self.view.layoutIfNeeded()            print(" BeginCounter ---(self.counter)")

    }, completion: { finished in
        UIView.animate(withDuration: 3.5, animations: {
            self.leadng.constant = -(self.vwObj.frame.size.width)

            print ("AnimationCompleted")
            self.counter = self.counter + 1
            print ("CompleteCounter --- \(self.counter)")
            //self.displayAnimation()

            if (self.counter == 3) {

                self.timer?.invalidate()
                self.counter = 0
            }
        })


    })

&安培;调用---- timer = Timer.scheduledTimer(timeInterval:4.0,target:self,selector:#selector(ViewController.displayAnimation),userInfo:nil,repeats:true)