A Swift library for creating smooth, customizable animated transitions between iOS view controllers with minimal boilerplate.
LiquidTransition is a Swift library for iOS that provides a new API to create animated transitions between view controllers. It solves the problem of building smooth, complex, and interactive transitions with minimal code, addressing performance issues like lag in other libraries.
iOS developers who need to implement custom, high-performance animated transitions between view controllers in their apps, especially those dealing with complex UI animations.
Developers choose LiquidTransition for its balance of ease of use and performance, offering a straightforward API without the overhead of excessive snapshots, making it suitable for real-world apps where smooth animations are critical.
New way to perform animated transitions
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
The README shows that setting up a transition requires only subclassing Animator and adding it with Liquid.shared.addTransitions(), significantly reducing code overhead compared to native UIKit transitions.
It avoids the performance lag from excessive snapshotting found in libraries like Hero, as noted in the Notes section, making it suitable for complex animations in real-world apps.
Transitions can be interrupted at any point and continued interactively, a key feature that enhances user experience for gestures like swiping.
Seamlessly supports animating transitions in reverse, which is useful for navigation controllers and undo interactions without extra code.
The TODO list includes adding default animations, so developers must implement all transitions from scratch, increasing initial development time.
Carthage support is pending, and while CocoaPods and Swift Package Manager are mentioned, the README primarily focuses on CocoaPods, which may not fit all project setups.
Advanced use cases require manual handling with TransitionRestorer, as shown in the examples, which can be error-prone and cumbersome for intricate animations.