Transition Library for iOS
Hero is a library for building iOS view controller transitions. It provides a declarative layer on top of the UIKit’s cumbersome transition APIs—making custom transitions an easy task for developers.
Hero is similar to Keynote’s Magic Move. It checks the
heroID property on all source and destination views. Every matched view pair is then automatically transitioned from its old state to its new state.
Hero can also construct animations for unmatched views. It is easy to define these animations via the
heroModifiers property. Hero will run these animations alongside the Magic Move animations. All of these animations can be interactively controlled by user gestures.
At view controller level, Hero provides several template transitions that you can set through
heroTabBarAnimationType. These can be used as the foundation of your custom transitions. Combine with
heroModifiers to make your own unique transitions.
By default, Hero provides dynamic duration based on the Material Design Motion Guide. Duration is automatically determined by changes to distance and size—saving you the hassle, while providing consistent and delightful animations.
Hero doesn’t make any assumptions about how the view is built or structured. It won’t modify any of your views’ states other than hiding them during the animation. This makes it work with Auto Layout, programmatic layout, UICollectionView (without modifying its layout object), UITableView, UINavigationController, UITabBarController, etc…