如何停止我的UIButton动画SWIFT

时间:2015-11-16 15:57:22

标签: swift animation button

我通过一些图片用UIButton做了一个动画。 这是代码:

         @IBAction func Touchdown(sender: AnyObject) {
    Izer.setImage(image1, forState: UIControlState.Normal)
    Izer.imageView!.animationImages = [image1, image2, image3, image4,                    image5,
        image6, image7,image8]
    Izer.imageView!.animationDuration = 0.9
    Izer.imageView!.startAnimating()
            playButton.enabled = false



}





@IBAction func TouchUp(sender: AnyObject) {

    soundRecorder.stop()
    playButton.enabled = true


}

当我触摸按钮时,动画开始。但我想通过我的Touchup功能来阻止它。

我该怎么办?

谢谢,对不起我的坏英语:(

2 个答案:

答案 0 :(得分:2)

将此添加到您的TouchUp功能:

Izer.imageView!.stopAnimating()

P.S。在Apple文档中找到有关函数的信息的好地方 - 它确实非常好。所以this is the page for an imageView如果您在任务下左侧查看,或者如果向下滚动,则可以看到您可以调用的函数和属性以及为动画设置动画设置。

答案 1 :(得分:1)

好的,看起来您希望按钮充当拨动开关。在第一次触摸时,该按钮开始为图像视图设置动画并记录某些内容。再次触摸时,动画停止,按钮再次启用。

您可以通过声明跟踪按钮状态的bool变量来实现此目的。如果布尔值设置为true,则运行动画&记录。如果布尔值为false,则停止并记录。

以下是示例代码:

class ViewController: UIViewController {

@IBOutlet weak var mainView: UIView!
var isButtonPressed = false{
    // Adding a Property Observer, that reacts to changes in button state
    didSet{
        if isButtonPressed{
            // Run the Recording function & Animation Function.
            startAnimationAndRecording()
        }else{
            // Stop the Recoding function & Animation Function.
            stopAnimationAndRecording()
        }
    }
}

@IBAction func changeButtonValue(sender: UIButton) {
    // Toggle the button value.
    isButtonPressed = !isButtonPressed
}

func startAnimationAndRecording(){
    // Add your animation and recording code here.
}

func stopAnimationAndRecording(){
    //Add your stop Animation & Stop Recording code here.
}

}