Apply morphing animation to images.
Implementation is using 100% SwiftUI API by leveraging SwiftUI animation and Canvas.
demo.mp4
Add package to XCode or in a Package.swift
.package(url: "https://github.com/kodlian/ImageMorphing", from: "1.0.0"),
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)