在按钮上点击将相同的按钮图像更改为另一个图像,然后淡出回原始图像

时间:2016-04-20 04:29:25

标签: swift swift2

我有一个简单的问题。我想点击一个按钮,一旦点击,按钮就会快速淡化为黑色&然后在5秒钟内将相同图像的白色版本溶解回原始彩色图像。在发生这种情况时,我希望禁用该按钮以防止过度攻击。我知道如何禁用按钮。我只是不知道该怎么做。

我不知道从哪里开始提供我的代码。

2 个答案:

答案 0 :(得分:1)

要从一个图像动画到另一个图像,您可以使用它:

<input type='file' name='pac1[]' multiple>

要在此时间之后重新启用按钮,您可以使用此功能:

let animationDuration = 5.0
button.imageView.animationImages = [UIImage(named: "image1.png"), UIImage(named: "image2.png")]
button.imageView.animationDuration = animationDuration
button.userInteractionEnabled = false
button.imageView.startAnimating()

答案 1 :(得分:0)

可能不是最有效的,但它对我有用

@IBOutlet weak var logoIndicator: UIButton!



override func viewDidLoad() {
    super.viewDidLoad()


}



@IBAction func logoEraseAll(sender: AnyObject) {

    onTapped()



}

func onTapped(){

    let afterTapped = UIImage(named: "grey.png") as UIImage!
    self.logoIndicator.setImage(afterTapped, forState: .Normal)
    logoIndicator.enabled = false
    delay(2) {
        self.transitionBack()
    }
}
func delay(delay:Double, closure:()->()) {

    dispatch_after(
        dispatch_time( DISPATCH_TIME_NOW, Int64(delay * Double(NSEC_PER_SEC))), dispatch_get_main_queue(), closure)
}

func transitionBack(){

    UIView.transitionWithView(logoIndicator, duration: 2, options: .TransitionCrossDissolve, animations: {
        self.logoIndicator.setImage(UIImage(named: "color.png"), forState: .Normal)
        }, completion: nil)

    logoIndicator.enabled = true
}




}