Apply morphing animation to SwiftUI Images

ImageMorphing

Apply morphing animation to images.

Implementation is using 100% SwiftUI API by leveraging SwiftUI animation and Canvas.

demo.mp4

Adding Image Morphing as a Dependency

Add package to XCode or in a Package.swift

.package(url: "https://github.com/kodlian/ImageMorphing", from: "1.0.0"),

Usage

Use MorphingImage as you will do with standard Image:

MorphingImage("MyImage") // custom asset
    .frame(width: 64, height: 64)

MorphingImage(systemName: "heart.fill") // SF Symbol
    .frame(width: 64, height: 64)

When the image changes, a morphing animation will be performed between the old and new images. The base images are only used as template, the resulting image applies the foreground style currently defined in the context.

Duration of morphing animation can be customized through a modifier:

MorphingImage(..)
    .morphingImageDuration(1.5)

GitHub

View Github