Transition - Easy interactive interruptible custom ViewController transitions

  •        31

Transition is a library that helps you build iOS view controller transitions. Implementing a nice interactive custom view controller transition involves quite a number of components. You have to implement the correct delegates, handle the switching between passive animation and active interaction phases, ensure the timing is right, think of interruption and cancellation, keep responsibilities separated... It quickly gets messy! This is where Transition helps you out: you just define the animation and the interaction, Transition ties it all together. To run an example project, clone the repo, navigate to one of these example directories, and run pod install from that directory first.

https://github.com/Touchwonders/Transition

Tags
Implementation
License
Platform

   




Related Projects

Hero - Elegant transition library for iOS & tvOS

  •    Swift

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 - Elegant transition library for iOS & tvOS

  •    Swift

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.

Presentr - Swift wrapper for custom ViewController presentations on iOS

  •    Swift

Presentr is a simple customizable wrapper for the Custom View Controller Presentation API introduced in iOS 8.iOS let's you modally present any view controller, but if you want the presented view controller to not cover the whole screen or modify anything about its presentation or transition you have to use the Custom View Controller Presentation API's.

Jelly - 🙌🏼 - Jelly provides a way to integrate different kinds of highly customizable view controller transitions into your iOS-App with just a few lines of code

  •    Swift

Jelly provides custom view controller transitions with just a few lines of code. No need to create your own Presentation-Controller or Animator objects. A Jelly-Animator will do the heavy lifting for you. You can use Jelly to build your own Alertviews or Slidein-Menus using ViewControllers designed by yourself.

ZoomTransitioning - ZoomTransitioning provides a custom transition with image zooming animation and swiping the screen edge

  •    Swift

ZoomTransitioning provides a custom transition with image zooming animation. When you use this library with UINavigationController, you can pop view controller with edge swiping. Run the demo project in the Demo directory without carthage update or pod install.


DisplaySwitcher - Custom transition between two collection view layouts

  •    Swift

This component implements custom transition between two collection view layouts with custom animation duration. Check this project on dribbble.

View2ViewTransition - Custom interactive view controller transition from one view to another view.

  •    Swift

Simple framework for custom interactive viewController transition from one view to another view. You can set userInfo to notify indexPath or share resource etc.

StateViewController - Stateful view controller containment for iOS

  •    Swift

When creating rich stateful view controllers, a single view controller class is often tasked with managing the appearance of many other views, controls, and other user interface elements based on a state. That state, in turn, is often inferred from multiple properties that need to be synchronized to correctly represent a single state. Usually the end result is known as the Massive View Controller problem, often solved by deviating from the MVC pattern used and endorsed heavily by Apple. While other patterns, such as MVVM or MVP, can solve your issues, going with the grain rather than against makes interacting with UIKit a whole lot easier. This repository houses one dependency-free class, called StateViewController, which is tasked with solving this issue. StateViewController is a container view controller that presents one or more view controllers for any given state that you define, such as loading, list, or editing. It manages the appearance cycles of each content view controller, making sure that the view lifecycle of the content view controllers are intact and in order, notifying you about state transitions and which content view controllers are about to appear or disappear from the view hierarchy. This allos you to compose multiple view controllers and re-use them throughout the app. The state view controller also provides extensive support for animating the transition between states.

EasyTransitions - A simple way to create custom interactive UIViewController transitions

  •    Swift

EasyTransitions is a library that helps developers create custom interactive transitions using simple functions defined in a protocol and avoid handling with the mutiple transitions API's in UIKit. Each of them grabs the available views to perfrom the transition. As read in the docs I avoid grabbing the views directly from the UIViewControllers and access them via UIViewControllerContextTransitioning's view(forKey: UITransitionContextViewKey).

DrawerKit - DrawerKit lets an UIViewController modally present another UIViewController in a manner similar to the way Apple's Maps app works

  •    Swift

DrawerKit is a custom view controller presentation mimicking the kind of behaviour you see in the Apple Maps app. It lets any view controller modally present another arbitrary view controller in such a way that the presented content is only partially shown at first, then allowing the user to interact with it by showing more or less of that content until it's fully presented or fully dismissed. It's not (yet) a complete implementation of the behaviour you see in the Maps app simply because our specific needs dictated something else. We intend to continue working on it to address that limitation. Please do play with the demo app and try different configuration options because there are so many ways to configure DrawerKit that the gif below is at most a pathetic representation of everything that the library can do.

ZFDragableModalTransition - Custom animation transition for present modal view controller

  •    Objective-C

###ScrollView If you have scrollview in the modal and you want to dismiss modal by drag it, you need to set scrollview to ZFModalTransitionAnimator instance. The current ViewController's view still visible behind the modal, so you just set transparent color to background view.

AlertTransition - AlertTransition is a extensible library for making view controller transitions, especially for alert transitions

  •    Swift

AlertTransition is a extensible library for making view controller transitions, especially for alert transitions. AlertTransition is a super class, make basic structure, and no default animation realized.

lottie-ios - An iOS library to natively render After Effects vector animations

  •    Objective-C

Lottie is a mobile library for Android and iOS that parses Adobe After Effects animations exported as json with bodymovin and renders the vector animations natively on mobile and through React Native!

Vertigo - Simple full screen image viewer with image zoom custom view controller transition

  •    Objective-C

Vertigo is a simple image viewer which includes a custom view controller transition that mimics the new iOS 7 Photos app image zoom transition effect. Vertigo requires iOS 7 or greater.

SPLarkController - Custom transition between controllers. Settings controller for your iOS app.

  •    Swift

Transition between controllers to top. You can change animatable height after presentation controller. For implement settings as in preiew, see section Settings Controller. See project's backers in Sponsors section.

ZoomTransition - Interactive zoom transition for presenting view controllers written in Swift

  •    Swift

An easy to use interactive zoom transition for presenting view controllers onto a navigation stack. This transition mimics the iOS 7 & 8 photos app. ZoomTransition supports pinch, rotate and pan gestures while dismissing the presented view controller.

VCTransitionsLibrary - A collection of iOS7 animation controllers and interaction controllers, providing flip, fold and all kinds of other transitions

  •    Objective-C

With iOS 7 you can easily create custom view controller transitions that can be used in a range of contexts (push, pop, modal …). This project provides a library of custom animations which can be dropped directly into your project. It also has a number of 'interaction controllers' which can be used with any of the custom animations in order to make your transitions interactive. The library currently contains the following animations, which can be made interactive with either a swipe or pinch gesture.

RxCoordinator - 🎌 Reactive navigation library for iOS based on the coordinator pattern

  •    Swift

“How does an app transition from a ViewController to another?”. This question is common and puzzling regarding iOS development. There are many answers, as every architecture has different implementation variations. Some do it from the view controller, while some do it using a router/coordinator, which is an object that connects view models. Setup the root view controller in the AppDelegate.

ARNTransitionAnimator - Custom transition & interactive transition animator for iOS written in Swift

  •    Swift

Custom transition & interactive transition animator for iOS. written in Swift.

StarWars

  •    Swift

This component implements transition animation to crumble view-controller into tiny pieces. Check this project on dribbble.