Transitioning is a powerful library for creating smooth transitions and animations in iOS apps. With Transitioning, you can easily add eye-catching transitions between screens, create interactive animations, and bring your app’s user experience to life. This documentation will guide you through the installation process, provide an overview of the library’s features, and help you get started with using Transitioning in your iOS projects.


Follow these simple steps to install Transitioning in your iOS project:

  • Add Transitioning to your project by using CocoaPods. To do this, open your terminal, navigate to your project directory, and run the command:
  • pod 'Transitioning'
  • After the installation is complete, open your project’s .xcworkspace file.
  • Import the Transitioning library in your Swift or Objective-C file using:
  • import Transitioning


Transitioning provides several key features that you can use to enhance the visual experience of your app:


With Transitioning, you can easily create smooth transitions between different screens in your app. The library offers various transition styles, including:

  • Fade
  • Slide
  • Scale
  • Flip

To use transitions, follow these steps:

  • Create a transitioning delegate by implementing the UIViewControllerTransitioningDelegate protocol.
  • Set the transitioning delegate of your presented view controller to the delegate you just created.
  • Specify the transition style using the transitionStyle property of the transitioning delegate.
  • Present the view controller using present(_:animated:completion:) method.


Transitioning allows you to create interactive and visually appealing animations within your app. You can use the animation features to bring your app’s interface to life and provide a delightful user experience. Some key animation features include:

  • Spring animations
  • Bouncing animations
  • Customizable timing functions
  • Interactive animations

Here’s a simple code snippet to get started with animations:

// Create a UIView animation using Transitioning
let animation = Animation(duration: 1.0, delay: 0.0, options: [.curveEaseInOut]) {
    // Animatable properties to modify
    viewToAnimate.transform = CGAffineTransform(scaleX: 2.0, y: 2.0)
    viewToAnimate.alpha = 0.0


Navigation Transitions

Transitioning also provides seamless navigation transitions for your app’s navigation controller. With built-in transition animations, you can easily create engaging navigation experiences for your users.

To achieve navigation transitions with Transitioning, follow these steps:

  • Add a custom transitioning delegate to your navigation controller.
  • Set the transitioning style using the transitionStyle property of the transitioning delegate.
  • Use your navigation controller as you normally would, and Transitioning will apply the specified transitions.

Additional Resources

Need more information or examples? Here are some useful resources:

Official Documentation

Refer to the official Transitioning documentation for detailed explanations of each feature, code examples, and best practices. Visit the official website here.

Github Repository

Explore the Transitioning Github repository for the latest updates, issues, and community contributions. Visit the repository here.

Sample Code

Check out the sample code provided by Transitioning to see real-world examples of how to implement various transitions and animations. View the sample code here.