简体   繁体   中英

UIView.animateWithDuration swift 3

在此输入图像描述

When the button is pressed it works. After clicking this function shows another view

@IBAction func charSetPressed(_ button: UIButton) {
    if button.titleLabel!.text == "1/2" {

        charSet1.isHidden = true
        charSet2.isHidden = false

        button.setTitle("2/2", for: .normal)

    } else if button.titleLabel!.text == "2/2" {
        charSet1.isHidden = false
        charSet2.isHidden = true
        button.setTitle("1/2", for: .normal)
    }

    UIView.animateWithDuration(0.2, animations: {

        button.transform = CGAffineTransformScale(CGAffineTransformIdentity, 2.0, 2.0)
        }, completion: {(_) -> Void in(here the error happend)

            button.transform =
            CGAffineTransformScale(CGAffineTransformIdentity, 1, 1)
    })
}

//Animate on key press... (For Swift 3.0)

    UIView.animate(withDuration: 0.2, animations: {
        button.transform = CGAffineTransform(scaleX: 2.0, y: 2.0)
    }, completion:{ _ in
        button.transform = CGAffineTransform(scaleX: 1.0, y: 1.0)
    })

Result:


Code:

import UIKit
import Foundation

class ViewController: UIViewController {

  @IBOutlet weak var myView: UIView!

  @IBAction func buttonTouched(_ sender: AnyObject) {

    // animate scaling by 2.0, 2.0
    UIView.animate(withDuration: 0.2, animations: {
      let transformScaled = CGAffineTransform
                                          .identity
                                          .scaledBy(x: 2.0, y: 2.0)

      self.myView.transform = transformScaled
    }) { (finished) in
      // once finished first animation
      // start second animation
      if finished {
        // animate scaling by 1.0, 1.0
        UIView.animate(withDuration: 0.2, animations: { 
          let transformScaled = CGAffineTransform
                                              .identity
                                              .scaledBy(x: 1.0, y: 1.0)

          self.myView.transform = transformScaled
        })
      }
    }

  }

}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM