An event-driven animation system for Swift that combines the observer pattern with custom spring animations.
Ease is a Swift library that provides an event-driven animation system, combining the observer pattern with custom spring animations to animate any value type. It solves the problem of creating smooth, natural animations in iOS and macOS apps by allowing dynamic updates to animation trajectories as target values change.
iOS and macOS developers building applications with complex UI animations, especially those using UIKit or SceneKit who need fluid, spring-based motion.
Developers choose Ease for its simplicity in creating dynamic spring animations, its support for multiple animations per value, and its ability to update trajectories on the fly, offering a more declarative and magical approach compared to traditional animation APIs.
It's magic.
Animates a wide range of types including CGPoint, Int, and custom types, as shown in the README's supported list, making it flexible for various UI and SceneKit scenarios.
Allows real-time adjustment of target values mid-animation, enabling responsive interactions like gesture tracking, as demonstrated in the example code where targetValue is updated frequently.
Provides configurable tension, damping, and mass parameters to create natural spring effects, giving animations a realistic, fluid feel compared to basic easing curves.
Supports adding several spring animations to a single value, useful for complex effects such as combined motions or overlaying visual feedback, per the README's feature list.
Requires handling EaseDisposable and weak references to avoid retain cycles, adding boilerplate code and complexity compared to simpler, auto-managed animation APIs.
Primarily designed for UIKit and SceneKit with no mention of SwiftUI support, which may hinder adoption in modern projects favoring declarative UI frameworks.
Installation is only via CocoaPods, as stated in the README, which could be a barrier for projects using Swift Package Manager or Carthage exclusively.
An iOS library to natively render After Effects vector animations
A library to simplify iOS animations in Swift.
Design and prototype customized UI, interaction, navigation, transition and animation for App Store ready Apps in Interface Builder with IBAnimatable.
ViewAnimator brings your UI to life with just one line
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.