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