<!--
{
  "availability" : [
    "iOS: -",
    "iPadOS: -",
    "macCatalyst: -"
  ],
  "documentType" : "symbol",
  "framework" : "UIKit",
  "identifier" : "/documentation/UIKit/UIImagePickerController/CameraFlashMode-swift.enum",
  "metadataVersion" : "0.1.0",
  "role" : "Enumeration",
  "symbol" : {
    "kind" : "Enumeration",
    "modules" : [
      "UIKit"
    ],
    "preciseIdentifier" : "c:@E@UIImagePickerControllerCameraFlashMode"
  },
  "title" : "UIImagePickerController.CameraFlashMode"
}
-->

# UIImagePickerController.CameraFlashMode

Constants that specify the flash mode to use with the active camera.

```
enum CameraFlashMode
```

## Overview

The constants in this enumeration are for use as values of the [`cameraFlashMode`](/documentation/UIKit/UIImagePickerController/cameraFlashMode-swift.property) property.

The behavior of the flash depends on the camera capture mode.

- For a [`cameraCaptureMode`](/documentation/UIKit/UIImagePickerController/cameraCaptureMode-swift.property) value of [`UIImagePickerController.CameraCaptureMode.photo`](/documentation/UIKit/UIImagePickerController/CameraCaptureMode-swift.enum/photo), flash is used to transiently illuminate the subject during still image capture.
- For a [`cameraCaptureMode`](/documentation/UIKit/UIImagePickerController/cameraCaptureMode-swift.property) value of [`UIImagePickerController.CameraCaptureMode.video`](/documentation/UIKit/UIImagePickerController/CameraCaptureMode-swift.enum/video), flash is used to continuously illuminate the subject during movie capture.

For a given camera on a device, flash may or may not be available. You specify the active camera by way of the [`cameraDevice`](/documentation/UIKit/UIImagePickerController/cameraDevice-swift.property) property. You can determine if the active camera has flash available by calling the [`isFlashAvailable(for:)`](/documentation/UIKit/UIImagePickerController/isFlashAvailable(for:)) class method.

You can manipulate the flash directly to provide effects such as a strobe light. Present a picker interface set to use video capture mode. Then, turn the flash LED on or off by setting the [`cameraFlashMode`](/documentation/UIKit/UIImagePickerController/cameraFlashMode-swift.property) property to [`UIImagePickerController.CameraFlashMode.on`](/documentation/UIKit/UIImagePickerController/CameraFlashMode-swift.enum/on) or [`UIImagePickerController.CameraFlashMode.off`](/documentation/UIKit/UIImagePickerController/CameraFlashMode-swift.enum/off).

## Topics

### Constants

[`UIImagePickerController.CameraFlashMode.off`](/documentation/UIKit/UIImagePickerController/CameraFlashMode-swift.enum/off)

Specifies that flash illumination is always off, no matter what the ambient light conditions are.

[`UIImagePickerController.CameraFlashMode.auto`](/documentation/UIKit/UIImagePickerController/CameraFlashMode-swift.enum/auto)

Specifies that the device should consider ambient light conditions to automatically determine whether or not to use flash illumination.

[`UIImagePickerController.CameraFlashMode.on`](/documentation/UIKit/UIImagePickerController/CameraFlashMode-swift.enum/on)

Specifies that flash illumination is always on, no matter what the ambient light conditions are.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)