1 // UIView.transition 2 3 // 1、可以设置从一个View到另一个View的转场动画 4 // UIView.transition(from: <#T##UIView#>, to: <#T##UIView#>, duration: <#T##TimeInterval#>, options: <#T##UIViewAnimationOptions#>, completion: <#T##((Bool) -> Void)?##((Bool) -> Void)?##(Bool) -> Void#>) 5 6 // 2、可以设置一个View的动画(比如翻转) 7 // UIView.transition(with: <#T##UIView#>, duration: <#T##TimeInterval#>, options: <#T##UIViewAnimationOptions#>, animations: <#T##(() -> Void)?##(() -> Void)?##() -> Void#>, completion: <#T##((Bool) -> Void)?##((Bool) -> Void)?##(Bool) -> Void#>) 8 9 import UIKit 10 11 class ViewController: UIViewController { 12 13 private var isZhengMian:Bool = true 14 15 override func viewDidLoad() { 16 super.viewDidLoad() 17 } 18 19 @IBAction func btnClick(_ sender: UIButton) { 20 isZhengMian = !isZhengMian 21 if isZhengMian{ // 正面,带文字,从左向右翻转 22 UIView.transition(with: sender, duration: 0.5, options: UIViewAnimationOptions.transitionFlipFromLeft, animations: { 23 sender.setTitle("✓", for: .normal) 24 }, completion: { (_) in 25 26 }) 27 } else{ // 反面,不带文字,从右向左翻转 28 UIView.transition(with: sender, duration: 0.5, options: UIViewAnimationOptions.transitionFlipFromRight, animations: { 29 sender.setTitle(nil, for: .normal) 30 }, completion: { (_) in 31 32 }) 33 } 34 } 35 }