2016-10-12 3 views
4

enter image description hereUIView.animateWithDuration swift 3

Wenn die Taste gedrückt wird, es funktioniert. Um diese Funktion nach dem Klicken auf eine andere Ansicht

@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) 
    }) 
} 
+1

Was ist der Fehler und wo ist Ihr Fehler –

+0

Zeigen Sie mir Ihr Fehlerprotokoll –

+0

Überprüfen Sie diese http://stackoverflow.com/questions/39995145/cgaffinetransformidentity-is-unavailable-in-swift für einige der neuen Swift3-Syntax – AMAN77

Antwort

5

// Animate auf Tastendruck ... (für 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) 
    }) 
4

Ergebnis:


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 
     }) 
     } 
    } 

    } 

}