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

时间:2015-01-22 00:27:19

标签: ios 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()
            })
    })
}

1 个答案:

答案 0 :(得分:4)

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

看起来你的动画可能是圆形的(重复),所以你可能还需要某种实例属性作为标志,这样动画就可以检查并停止。否则你只会永远重复。