AIViewControllerTransition is a custom view controller transition library for iOS that allows you to create interactive and interesting transitions between view controllers. It provides a variety of built-in animations and also allows you to create your own custom animations.

About AIViewControllerTransition

AIViewControllerTransition is a powerful and flexible library that makes it easy to create beautiful transitions between view controllers in your iOS app. With just a few lines of code, you can add custom animations, interactive gestures, and more to give your app a unique and engaging user experience.

Key Features

  • Built-in animations: AIViewControllerTransition provides a variety of pre-built animations that you can use out of the box, such as fade, slide, flip, scale, and more.
  • Custom animations: You can also create your own custom animations by implementing the `AIViewControllerTransitionDelegate` protocol. This gives you full control over the transition animation, allowing you to create unique and dynamic effects.
  • Interactive gestures: AIViewControllerTransition supports interactive gestures, such as swipe, pinch, and pan, which allow users to interact with the transitioning view controllers. This makes your app more interactive and engaging.
  • Easy integration: The library is easy to integrate into your iOS project. Simply import the framework, define your transitions, and start using them in your app.
  • Flexible configuration: AIViewControllerTransition provides a range of configuration options, such as duration, damping, initial spring velocity, and more, which allow you to customize the behavior of the transitions according to your app’s needs.
  • Support for navigation controllers: The library seamlessly integrates with navigation controllers, allowing you to apply transitions to navigation pushes and pops.


To install AIViewControllerTransition in your project, follow these steps:

  1. Download the latest release of AIViewControllerTransition from the GitHub repository.
  2. Drag and drop the framework into your Xcode project.
  3. In your project settings, go to the “General” tab, and add AIViewControllerTransition.framework to the “Frameworks, Libraries, and Embedded Content” section.
  4. In your code, import the framework using `import AIViewControllerTransition`.
  5. You’re ready to start using AIViewControllerTransition!

Getting Started

To get started using AIViewControllerTransition, follow these steps:

  1. Import the AIViewControllerTransition framework in your view controller:
  2. import AIViewControllerTransition
  3. Set the transitioning delegate of your view controller to AIViewControllerTransition:
  4. class ViewController: UIViewController {
        override func viewDidLoad() {
            self.transitioningDelegate = AIViewControllerTransition.shared
  5. Configure the desired transition animation:
  6. AIFadeAnimation.configureAnimation(for: viewController, duration: 0.5)
  7. Present or push a new view controller:
  8. self.present(viewController, animated: true, completion: nil)


Here are a few examples of how to use AIViewControllerTransition:

Example 1: Fade out transition

To perform a fade out transition when presenting a view controller:

let viewController = NextViewController()
AIFadeAnimation.configureAnimation(for: viewController, duration: 0.5)
self.present(viewController, animated: true, completion: nil)

Example 2: Slide up transition

To perform a slide up transition when pushing a view controller:

let nextViewController = NextViewController()
AISlideAnimation.configureAnimation(for: nextViewController, direction: .up)
self.navigationController?.pushViewController(nextViewController, animated: true)

Example 3: Custom transition

To create a custom transition animation:

class CustomAnimation: NSObject, AIViewControllerTransitionDelegate {
    func animateTransition(from fromVC: UIViewController, to toVC: UIViewController, containerView: UIView, duration: TimeInterval, completion: ((Bool) -> Void)?) {
        // Add your custom animation logic here

let viewController = NextViewController()
let customAnimation = CustomAnimation()
self.present(viewController, animated: true, completion: nil)


For detailed documentation on how to use AIViewControllerTransition, check out the GitHub repository. The repository contains examples, API reference, and usage guidelines to help you get started.


AIViewControllerTransition is compatible with iOS 11 and above. It is written in Swift and supports both Swift and Objective-C projects.


AIViewControllerTransition is released under the MIT license. See the LICENSE file for more details.