A UIKit custom modal transition for iOS that simulates an elastic drag animation, written in Swift.
ElasticTransition is a Swift library that provides a custom modal transition animation for iOS apps, simulating an elastic drag effect. It allows developers to create engaging, physics-based interactions when presenting or dismissing view controllers, making UI transitions feel more dynamic and responsive.
iOS developers building apps with custom UI/UX who want to implement unique, interactive modal transitions without building animation logic from scratch.
Developers choose ElasticTransition for its easy integration with UIKit, highly customizable elastic animation parameters, and support for interactive gesture-driven transitions, offering a polished alternative to standard iOS modal presentations.
A UIKit custom transition that simulates an elastic drag. Written in Swift.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enables drag-driven transitions for both presentation and dismissal using pan gestures, making UI interactions feel natural and responsive, as shown in the advanced usage examples.
Offers fine-tunable parameters like stiffness, damping, radius factor, and edge settings to control the elastic effect's behavior, detailed in the attributes section.
Simple to implement by subclassing ElasticModalViewController or using transitioningDelegate, with clear code snippets provided for both basic and advanced setups.
Supports triggers from any screen edge (left, right, top, bottom), allowing diverse modal presentation styles without extra configuration.
Enabling shadows decreases performance, and physics-based elastic simulations can be CPU-intensive, potentially causing lag in apps with complex UIs.
Built for Swift 3.0, requiring migration efforts for newer Swift versions and lacking support for modern iOS features and SwiftUI integration.
README contains typos like 'dissmissInteractiveTransition' and may not cover edge cases thoroughly, which could confuse developers during implementation.