如何通过按下按钮删除动画。 Swift

How to remove animation by pressing a button. Swift

我有一个按钮和一个动画。我如何在函数(花动画)中写入如果按下按钮,动画将隐藏或删除。这些选项中的任何一个都可以。

有人有什么想法吗?

@IBAction func settings(sender: UIButton) {
    settingsPlate.hidden = false
    viewTwo.hidden = false
    exit.hidden = false

    dimmedView.backgroundColor = UIColor(red: 0.5, green: 0.5, blue: 0.5, alpha: 1.0)
    dimmedView.alpha = 0.5
    dimmedView.hidden = false

}

这是花动画。我想在这里写一段代码,如果按下按钮,则消失或隐藏。

func animateFlowerOne(){

    let options = UIViewAnimationOptions.CurveEaseInOut

    //Flower 1 Four
    let flowers = UIImageView()
    flowers.image = UIImage(named: "flower-face")
    flowers.frame = CGRect(x: 70, y: 380, width: 0, height: 0)
    self.view.addSubview(flowers)


    UIView.animateWithDuration(500.0, delay: 200.0, options: options, animations: {
        flowers.frame = CGRect(x: 70, y: 380, width: 15, height: 15)
        }, completion: { animationFinished in
            UIView.animateWithDuration(500.0, delay: 200.0, options: options, animations: {
                flowers.frame = CGRect(x: 70, y: 380, width: 0, height: 0)

                }, completion: { animationFinished in
                    flowers.removeFromSuperview()
                    self.animateFlowerOne()
            })
    })
}

您需要保留对您正在设置动画的图像视图的引用(例如,在此视图控制器的实例 属性 中)。如果按钮被按下,那么在按钮的动作处理程序中,使用该引用与图像视图对话。您可以使用 removeAllAnimations 从图像视图的图层中删除当前动画,然后您可以对图像视图执行任何其他操作。

看起来您的动画可能是循环的(重复),因此您可能还需要某种实例 属性 作为标志,以便动画可以检查它并停止。否则你将永远重复。