我正在尝试使用 CATransaction 制作 CABasicAnimation,因此我可以拥有一个 Completion 处理程序。它工作正常,但是当我退出视图控制器并返回时,完成块被调用两次:一次是动画开始时,一次是结束。我只想要它在最后。
奇怪的丁字裤是当我退出它并第二次回来时,完成被称为3次等等......
func animate() {
CATransaction.begin()
Animation.toValue = 0
Animation.duration = CFTimeInterval(timerChoosenTime)
Animation.fillMode = CAMediaTimingFillMode.forwards
Animation.isRemovedOnCompletion = false
CATransaction.setCompletionBlock({
//Some cool stuff
})
object.add(Animation, forKey: "Animation")
CATransaction.commit()
}
我认为该程序会创建多个 CATransaction。解决它的方法是取消 CATransaction 但我在网上一无所获。不过,我不确定。请帮我...