繁体   English   中英

iOS动画重复(未调用补全框)

[英]iOS Animation Repeat (Completion Block Not Being Called)

我正在尝试使动画来回移动。 例如,在这样的鱼缸模拟中,我试图让鱼来回移动。 我试图使它无限长地工作,但是鱼只向一个方向移动,而且完井区永远不会被调用。 当鱼到达屏幕末端时,有人可以建议我如何调用完成区块吗?

附件是我当前的代码:

UIView.animate(withDuration: fishAnimationDuration, delay: fishAnimationDelay, options: [.allowAnimatedContent, .repeat], animations: {
                fish.frame = CGRect(x: fishXPosEnd, y: fishYPos, width: fishWidth, height: fishHeight)
            }, completion: { (finished: Bool) in
                    fish.image = #imageLiteral(resourceName: "fishBack")
                    UIView.animate(withDuration: fishAnimationDuration, delay: fishAnimationDelay, options: [.allowAnimatedContent], animations: {
                        fish.frame = CGRect(x: fishXPos, y: fishYPos, width: fishWidth, height: fishHeight)
                   })
 })

repeat选项处于选项中时,不会调用完成块,因为重复动画永远不会完成。

在您的情况下,我将删除repeat选项。 然后在第二个动画的完成处理程序中,调用包含这些动画块的方法,以便再次调用这对动画。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM