Need help with ImagePicker?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

hyperoslo
4.5K Stars 630 Forks Other 843 Commits 15 Opened issues

Description

:camera: Reinventing the way ImagePicker works.

Services available

!
?

Need anything else?

Contributors list

ImagePicker

Carthage Compatible License Platform

Description

ImagePicker Icon

ImagePicker is an all-in-one camera solution for your iOS app. It lets your users select images from the library and take pictures at the same time. As a developer you get notified of all the user interactions and get the beautiful UI for free, out of the box, it's just that simple.

ImagePicker has been optimized to give a great user experience, it passes around referenced images instead of the image itself which makes it less memory consuming. This is what makes it smooth as butter.

Usage

ImagePicker works as a normal controller, just instantiate it and present it.

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

ImagePicker has three delegate methods that will inform you what the users are up to:

func wrapperDidPress(_ imagePicker: ImagePickerController, images: [UIImage])
func doneButtonDidPress(_ imagePicker: ImagePickerController, images: [UIImage])
func cancelButtonDidPress(_ imagePicker: ImagePickerController)

ImagePicker supports limiting the amount of images that can be selected, it defaults to zero, which means that the user can select as many images as he/she wants.

let imagePickerController = ImagePickerController()
imagePickerController.imageLimit = 5

Optional bonus

Configuration

You can inject

Configuration
instance to ImagePicker, which allows you to configure text, colors, fonts and camera features
var configuration = Configuration()
configuration.doneButtonTitle = "Finish"
configuration.noImagesTitle = "Sorry! There are no images here!"
configuration.recordLocation = false

let imagePicker = ImagePickerController(configuration: configuration)

Resolve assets

As said before, ImagePicker works with referenced images, that is really powerful because it lets you download the asset and choose the size you want. If you want to change the default implementation, just add a variable in your controller.

public var imageAssets: [UIImage] {
  return AssetManager.resolveAssets(imagePicker.stack.assets)
}

And when you call any delegate method that returns images, add in the first line:

let images = imageAssets

FAQ

Limiting selection to 1 item

let config = Configuration()
config.allowMultiplePhotoSelection = false
let imagePicker = ImagePickerController(configuration: config)
imagePicker.delegate = self

Installation

ImagePicker is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod 'ImagePicker'

ImagePicker is also available through Carthage. To install just write into your Cartfile:

github "hyperoslo/ImagePicker"

Author

Hyper made this with ❤️

Contribute

We would love you to contribute to ImagePicker, check the CONTRIBUTING file for more info.

License

ImagePicker is available under the MIT license. See the LICENSE file for more info.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.