Swift 3 - 延迟重复动画

时间:2017-05-24 19:00:56

标签: swift swift3 uiviewanimation

目前,这个动画每3秒重复一次。我希望在重复这个动画之间有10秒的等待时间。我怎么能做到这一点?

override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)


    UIView.animate(withDuration: 7.5, delay: 20,
                   options: .repeat,
                   animations: {
        self.imageAnimate.center.x += self.view.bounds.width * 2
    },
                   completion: nil
    )
}

1 个答案:

答案 0 :(得分:3)

使用Timer

// note that I used 17.5 here because the animation itself takes 7.5 seconds
// so that will be 7.5 seconds of animating, 10 seconds of doing nothing
// and start animating again
Timer.scheduledTimer(withTimeInterval: 17.5, repeats: true) {
    UIView.animate(withDuration: 7.5, animations: {
        self.imageAnimate.center.x += self.view.bounds.width * 2
    })
}