---
title: UIVideoEditorController
framework: uikit
role: symbol
role_heading: Class
path: uikit/uivideoeditorcontroller
---

# UIVideoEditorController

A view controller that manages the system interface for trimming video frames and encoding a previously recorded movie.

## Declaration

```swift
@MainActor class UIVideoEditorController
```

## Overview

Overview A video editor manages user interactions and provides the filesystem path of the edited movie to your delegate object (see UIVideoEditorControllerDelegate). The features of the UIVideoEditorController class are available only on devices that support video recording. Use a video editor when your intent is to provide an interface for movie editing. While the UIImagePickerController class also lets a user trim movies, its primary roles are choosing saved pictures and movies, and capturing new pictures and movies. important: The UIVideoEditorController class supports portrait mode only. This class is intended to be used as-is and doesn’t support subclassing. The view hierarchy for this class is private; don’t modify the view hierarchy. This class doesn’t support modifications to its appearance by use of overlay views.

## Topics

### Managing changes to the video

- [delegate](uikit/uivideoeditorcontroller/delegate.md)
- [UIVideoEditorControllerDelegate](uikit/uivideoeditorcontrollerdelegate.md)

### Determining editing availability

- [canEditVideo(atPath:)](uikit/uivideoeditorcontroller/caneditvideo(atpath:).md)

### Configuring the editor

- [videoMaximumDuration](uikit/uivideoeditorcontroller/videomaximumduration.md)
- [videoPath](uikit/uivideoeditorcontroller/videopath.md)
- [videoQuality](uikit/uivideoeditorcontroller/videoquality.md)

## Relationships

### Inherits From

- [UINavigationController](uikit/uinavigationcontroller.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCoding](foundation/nscoding.md)
- [NSExtensionRequestHandling](foundation/nsextensionrequesthandling.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [NSTouchBarProvider](appkit/nstouchbarprovider.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)
- [UIActivityItemsConfigurationProviding](uikit/uiactivityitemsconfigurationproviding.md)
- [UIAppearanceContainer](uikit/uiappearancecontainer.md)
- [UIContentContainer](uikit/uicontentcontainer.md)
- [UIFocusEnvironment](uikit/uifocusenvironment.md)
- [UIPasteConfigurationSupporting](uikit/uipasteconfigurationsupporting.md)
- [UIResponderStandardEditActions](uikit/uiresponderstandardeditactions.md)
- [UIStateRestoring](uikit/uistaterestoring.md)
- [UITraitChangeObservable](uikit/uitraitchangeobservable-67e94.md)
- [UITraitEnvironment](uikit/uitraitenvironment.md)
- [UIUserActivityRestoring](uikit/uiuseractivityrestoring.md)

## See Also

### Images and video

- [UIImagePickerController](uikit/uiimagepickercontroller.md)
