This is SVG animation presentation kit for iOS.
You can run the example app from Examples/iOS/Example-iOS.xcodeproj.
You can display the svg image with animation.
We are supportted two animation formats😎
The format is below.
- Animation in SVG
- Animation in CSS
Usage is difference by the format.
This is initialization SVGView for format 1 (Animation in SVG) usage.
SVGView(named: "svg-filename", animationOwner: .svg)This is initialization SVGView for format 2 (Animation in CSS) usage.
SVGView(named: "svg-filename", animationOwner: .css, style: .cssFile(name: "css-filename"))And, you initialized view, you have to do is only add view to parent view, and start animation like below.
class ViewController: UIViewController {
let svgView = SVGView(named: "image", animationOwner: .svg)
override func viewDidLoad() {
super.viewDidLoad()
view.addSubview(svgView)
svgView.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([
svgView.centerXAnchor.constraint(equalTo: view.centerXAnchor),
svgView.centerYAnchor.constraint(equalTo: view.centerYAnchor),
svgView.widthAnchor.constraint(equalToConstant: 400),
svgView.heightAnchor.constraint(equalToConstant: 400),
])
svgView.startAnimation()
// svgView.stopAnimation() // Stop animation.
// svgView.isAnimate { [weak self] (value, error) in
// if let error = error {
// print(error)
// }
// guard let value = value else { return } // value means whether animation is moving.
// }
}
}SwiftUI support is available on iOS 14.0 and later.
import SwiftUI
import Elephant
struct ContentView: View {
@StateObject private var controller = AnimatedSVGViewController()
var body: some View {
VStack {
AnimatedSVGView(
named: "image",
animationOwner: .svg,
controller: controller
)
.frame(width: 240, height: 240)
HStack {
Button("Play") {
controller.startAnimation()
}
Button("Pause") {
controller.stopAnimation()
}
}
}
}
}- Xcode 26.4
- Swift 6.0 package tools
- iOS 14.0+
Add the following to the dependencies of your Package.swift:
dependencies: [
.package(url: "https://github.com/s2mr/Elephant.git", from: "Elephant version"),
]Add this to Podfile
pod 'Elephant'$ pod installElephant is available under the Apache v2. See the LICENSE file for more info.
