[英]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.