Skip to content

Default Animations

Luke Zhao edited this page Feb 12, 2017 · 5 revisions

Starting with 0.3.0. Hero provides several default transitions. These can also be customized & combined with your custom heroID & heroModifiers. Makes transitions even easier to implement.

      

Methods for changing the default animations

Use Hero.shared object to interact and change the default animation for your next transition.

  /// Turn off built-in animation for next transition
  func disableDefaultAnimationForNextTransition()

  /// Set the default animation for next transition
  /// This usually overrides rootView's heroModifiers during the transition
  ///
  /// - Parameter animation: animation type
  func setDefaultAnimationForNextTransition(_ animation: HeroDefaultAnimationType)

  /// Set the container color for next transition
  ///
  /// - Parameter color: container color
  func setContainerColorForNextTransition(_ color: UIColor?)

.auto Animation Type

.auto is the default animation type. It uses the following animations depending on the presentation style:

  • .none if source root view or destination root view have existing animations (defined via heroID or heroModifiers).
  • .push & .pull if animating within a UINavigationController.
  • .slide if animating within a UITabbarController.
  • .fade if presenting modally.
  • .none if presenting modally with modalPresentationStyle == .overFullScreen.

Note

Other than .auto & .none, default animations will override heroModifiers on source & destination root views.

Clone this wiki locally