1

我正在尝试使用 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 但我在网上一无所获。不过,我不确定。请帮我...

4

0 回答 0