Use a Custom Image Picker Controller in Swift for iOS


Get an image/Video from the Custom image picker library or directly from the camera by using the UIImagePickerController class in Swift 5.

A Custom Image Picker Controller in Swift for iOS is a specialized component that allows users to select and pick images from various sources, such as the photo library or the device’s camera, in a customized and tailored manner.

How to get the edited image from UIImagePickerController in Swift

Unlike the default image picker controller provided by iOS, a custom image picker controller offers additional features and customization options to enhance the user experience and match the specific requirements of your app.

With this custom component, you can design a unique user interface, apply custom styling, and add extra functionality to the image selection process. You have the flexibility to incorporate features like multiple image selection, image editing capabilities, filters, cropping, or any other custom enhancements that align with your app’s purpose.

By leveraging Swift and iOS frameworks such as UIKit or Photos, you can create a custom image picker controller that seamlessly integrates with your app’s design and workflow. You can handle user interactions, access the device’s photo library or camera, and implement any desired functionality to meet your app’s needs.

Overall, a Custom Image Picker Controller in Swift for iOS empowers you to create a tailored and delightful image selection experience for your users, making it easier and more engaging for them to choose and work with images within your app.

  • language: Swift 5.0
  • platform: ios
  • device: iphone/ipad
  • license: MIT




Add this to Podfile, and then update dependency:

pod 'AnyImageKit'


Add this to Cartfile, and then update dependency:

github "AnyImageProject/AnyImageKit"

Unsupport --no-use-binaries


Quick Start

import AnyImageKit

let controller = ImagePickerController(delegate: self)
present(controller, animated: true, completion: nil)

/// ImagePickerControllerDelegate
func imagePickerDidCancel(_ picker: ImagePickerController) {
    // Your code, handle cancel
    picker.dismiss(animated: true, completion: nil)
func imagePicker(_ picker: ImagePickerController, didFinishPicking assets: [Asset], useOriginalImage: Bool) {
    // Your code, handle select assets
    let images = { $0.image }
    picker.dismiss(animated: true, completion: nil)

Fetch content data

/// Fetch Video URL 
/// - Note: Only for `MediaType` Video
/// - Parameter options: Video URL Fetch Options
/// - Parameter completion: Video URL Fetch Completion
func fetchVideoURL(options: VideoURLFetchOptions = .init(), completion: @escaping VideoURLFetchCompletion)

// Call
asset.fetchVideoURL { (result) in
    // Your code



Related Posts

Leave a Reply

Your email address will not be published. Required fields are marked *