---
title: PHContentEditingController
framework: photosui
role: symbol
role_heading: Protocol
path: photosui/phcontenteditingcontroller
---

# PHContentEditingController

A protocol your custom view controller class implements to provide a user interface for your Photos extension.

## Declaration

```swift
@MainActor protocol PHContentEditingController : NSObjectProtocol
```

## Mentioned in

Creating Photo Editing Extensions

## Overview

Overview The PHContentEditingController protocol defines methods you implement in a custom view controller class in order to create a Photos extension. The Photos app hosts your extension’s view controller to provide a user interface for editing photo or video assets.

## Topics

### Working with Adjustment Data

- [canHandle(_:)](photosui/phcontenteditingcontroller/canhandle(_:).md)

### Performing an Edit

- [startContentEditing(with:placeholderImage:)](photosui/phcontenteditingcontroller/startcontentediting(with:placeholderimage:).md)
- [finishContentEditing(completionHandler:)](photosui/phcontenteditingcontroller/finishcontentediting(completionhandler:).md)

### Canceling an Edit

- [shouldShowCancelConfirmation](photosui/phcontenteditingcontroller/shouldshowcancelconfirmation.md)
- [cancelContentEditing()](photosui/phcontenteditingcontroller/cancelcontentediting().md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Photo Editing Extensions

- [Creating Photo Editing Extensions](photokit/creating-photo-editing-extensions.md)
