iosswiftuiimageflip

How to flip UIImage horizontally with Swift?


The solution to do UIImage flipping is with the Objective-C code:

[UIImage imageWithCGImage:img.CGImage scale:1.0 orientation: UIImageOrientationDownMirrored]

However, imageWithCGImage is not available in Swift! Is there a solution for flipping image horizontally with Swift? Thanks!


Solution

  • Most factory methods are converted to initializers in swift. Whenever available, even if the class method is still available, they are preferred. You can use:

        init(CGImage cgImage: CGImage!, scale: CGFloat, orientation: UIImageOrientation)
    

    The usage would look like this:

    var image = UIImage(CGImage: img.CGImage, scale: 1.0, orientation: .DownMirrored)
    

    Swift 5

    var image = UIImage(cgImage: img.cgImage!, scale: 1.0, orientation: .downMirrored)