---
title: UIViewController.Transition
framework: uikit
role: symbol
role_heading: Class
path: uikit/uiviewcontroller/transition
---

# UIViewController.Transition

An object that defines the transition animation when switching to a new view controller.

## Declaration

```swift
class Transition
```

## Topics

### Creating zoom transitions

- [zoom(options:sourceViewProvider:)](uikit/uiviewcontroller/transition/zoom(options:sourceviewprovider:).md)
- [UIViewController.Transition.ZoomOptions](uikit/uiviewcontroller/transition/zoomoptions.md)
- [UIViewController.Transition.ZoomSourceViewProviderContext](uikit/uiviewcontroller/transition/zoomsourceviewprovidercontext.md)

### Accessing transitions

- [coverVertical](uikit/uiviewcontroller/transition/coververtical.md)
- [crossDissolve](uikit/uiviewcontroller/transition/crossdissolve.md)
- [flipHorizontal](uikit/uiviewcontroller/transition/fliphorizontal.md)
- [partialCurl](uikit/uiviewcontroller/transition/partialcurl.md)

### Type Methods

- [zoom(options:sourceBarButtonItemProvider:)](uikit/uiviewcontroller/transition/zoom(options:sourcebarbuttonitemprovider:).md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Working with transitions

- [preferredTransition](uikit/uiviewcontroller/preferredtransition.md)
