使用 Swift 4.0
在下方更新
UIView.transition(with: sender as! UIView, duration: 1.5, options: .transitionFlipFromRight, animations: {
sender.setImage(UIImage(named: arrItems[intItemCounter]), for: .normal)
}, completion: nil)
UIButton 是 UIView 的子类,因此您可以将 UIView.animateWithDuration 与按钮一起使用。例如,您可以这样说:
@IBAction func buttonPressed(sender: UIButton) {
UIView.transitionWithView(sender, duration: 1.5, options: .TransitionFlipFromRight, animations: {
sender.setImage(UIImage(named: arrItems[intItemCounter]), forState: .Normal)
}, completion: nil)
}
这将导致在点击时按钮与新图像一起翻转。
如果您想要其他示例中的动画(淡出/淡入),您可以说:
@IBAction func buttonPressed(sender: UIButton) {
UIView.animateWithDuration(0.5, animations: {
sender.alpha = 0.0
}, completion:{(finished) in
sender.setImage(UIImage(named: arrItems[intItemCounter]), forState: .Normal)
UIView.animateWithDuration(0.5,animations:{
sender.alpha = 1.0
},completion:nil)
})
}
您也可以像这样进行交叉溶解:
@IBAction func buttonPressed(sender: UIButton) {
UIView.transitionWithView(sender, duration: 1.5, options: .TransitionCrossDissolve, animations: {
sender.setImage(UIImage(named: arrItems[intItemCounter]), forState: .Normal)
}, completion: nil)
}