'CGAffineTransformIdentity' is unavailable in Swift

AMAN77 picture AMAN77 · Oct 12, 2016 · Viewed 14k times · Source

Came across this error when trying to do adapt some animations into Swift3 syntax.

 UIView.animate(withDuration: duration, delay: 0.0, usingSpringWithDamping: 0.5, 
 initialSpringVelocity: 0.8, options: [] , animations: {
        fromView.transform = offScreenLeft

        toView.transform = CGAffineTransformIdentity

        }, completion: { finished in
            transitionContext.completeTransition(true)              
    })

and got this:

'CGAffineTransformIdentity' is unavailable in Swift

Answer

AMAN77 picture AMAN77 · Oct 12, 2016

Found this link which suggested that "The global constant was moved into a static property, and the Swift 3 migrator, as you've discovered, failed to correct for that. " and that you can simply change the code to :

 toView.transform = CGAffineTransform.identity

EDIT

or even simpler:

toView.transform = .identity

Hope this helps somebody.