A library for enhanced transitioning between UICollectionView layouts in iOS with content offset control and supplementary view support.
TLLayoutTransitioning is an open-source iOS library that enhances transitioning between UICollectionView layouts. It solves problems with Apple's built-in transition APIs, such as poor content offset handling and lack of supplementary view support, by providing precise control over animations and cell placement.
iOS developers building apps with UICollectionView who need smooth, customizable layout transitions with control over content offset and supplementary views.
Developers choose TLLayoutTransitioning because it fixes known bugs in Apple's transition APIs, offers fine-grained control over animations and placement, and supports supplementary views—features not available in standard UIKit.
Enhanced transitioning between UICollectionView layouts in iOS.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Solves Apple's poor offset handling by providing placement options like Minimal, Visible, Center, Top, etc., relative to index paths, ensuring cells land where intended during transitions.
Enables transitioning of supplementary views such as section headers, a feature absent in standard UICollectionViewTransitionLayout, as highlighted in the Resize example.
Offers control over duration and 30+ easing curves from AHEasing, fixing known bugs in Apple's setCollectionViewLayout method and allowing nuanced animations.
Includes methods like cancelInteractiveTransitionInPlaceWithCompletion for stopping transitions in-place and checking isInteractiveTransitionInProgress status, enhancing interactivity.
Uses CADisplayLink to drive animations, which the README admits may not perform as well as Core Animation with complex cells, potentially causing lag.
Relies on an external library for easing curves, with Carthage support requiring a fork and limited maintenance, adding complexity and potential compatibility issues.
Requires manual configuration for transitions, including calculating offsets and handling completion blocks, making it less straightforward than drop-in solutions.