Search code examples
swift3xcode8

'CGAffineTransformIdentity' is unavailable in Swift


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


Solution

  • 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