9 ratings
  • 1
  • 2
  • 3
  • 4
  • 5
5 star 1
4 star 3
3 star 3
2 star 1
1 star 1
Compatible with
  • iOS

ELCImagePicker 1.4

Dave Humphreys

A Multi-Image picker that uses the asset library


A clone of the UIImagePickerController using the Assets Library Framework allowing for multiple asset selection.

  • Multi-select of images
  • Support for Xamarin.iOS Unified API
  • Returns UIImage, Name and Asset path of the selected items
  • TPL-friendly Interface
  • Localization support


The image picker is created and displayed in a very similar manner to the UIImagePickerController. The sample application shows its use. To display the controller you instantiate it and display it modally like so.

 var picker = ELCImagePickerViewController.Instance;
 picker.MaximumImagesCount = 15;
 picker.Completion.ContinueWith (t => {
   if (t.IsCanceled || t.Exception != null) {
     // no pictures for you!
   } else {
      var items = t.Result as List<AssetResult>;

 PresentViewController (picker, true, null);

Originally ported to C# by bjdodson

Ported from Original Objective-C Project - https://github.com/B-Sides/ELCImagePickerController

iOS 10

Please note that iOS 10 has changed the way that permission is granted to access the photo library. You must add the new permissions requirements upfront in the info.plist file.

Xamarin has a blog post about these changes here -> New iOS 10 Privacy Permission Settings

Release Notes

Version 1.4

  • Added french localisation to the samples(thanks JRolandros)
  • Deprecated 'Instance' Property and added 'Create' method
  • Added support for setting explicit titles(buttons and screen titles) via the 'Create' method

Version 1.3

  • Updated to handle when asset Thumbnail is null

Version 1.2

  • Fixed issue with casing not allowing the Overlay image to load
  • Added the ability to override the overlay image

Version 1.1

  • Removed default bar style so it will work with the appearance API
  • Fixed issue with the Overlay not loading in Ad-hoc mode
  • Added support for localisation
Write a Review

7 reviews

Vishal Pachori


I have upgraded my os to iOS 11 and facing issues the Picker is not coming in the TopViewController. Is there any other steps which needs to follow for iOS 11?

Posted on: September 25, 2017 / Version: 1.4
Cyrille roland Akamba

Hello, It's very helpful this component, thank you.

I just have a bit problem with labels (such as "Select an album") wich can't be translate into french using resources files, as I'm writing a french app (language : french). Is there any solution to localized all labels in this component? Thanks.

Posted on: October 14, 2016 / Version: 1.3
Larry Pauley rates this with
  • 1
  • 2
  • 3
  • 4
  • 5

I am using Xamarin for VS2015 and ELCImagePicker. Everything was working great until I upgraded to iOS 10 on my Mac. Now I am getting the following error:

Got a SIGABRT while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application.

Posted on: September 14, 2016 / Version: 1.3
Jason Palios rates this with
  • 1
  • 2
  • 3
  • 4
  • 5

the image null error is because the overlay image does not load properly to fix add something like this in the appdelegate.cs

ELCImagePickerViewController.OverlayImage = UIImage.FromBundle ("overlay-black");

Posted on: January 26, 2016 / Version: 1.3
vasundhara bhimavarapu

Can we pick videos using ELCImagePicker

Posted on: January 9, 2016 / Version: 1.3
George Prins


I created a view where I implemented the picker. When I navigate to the view I can see the UIBarButtonItem. Clicking on it opens the view that displays the list of albums on the phone but when I click on an album I get a System.ArgumentNullException stating that the parameter image is null.


Posted on: September 3, 2015 / Version: 1.1
Daniel Barrros Amorim

I am getting the error below, only on Ad-Hoc version, when I click to open an image :

"Could not initialize an instance of the type 'UIKit.UIImage': the native 'initWithContentsOfFile:' method returned nil. It is possible to ignore this condition by setting MonoTouch.ObjCRuntime.Class.ThrowOnInitFailure to false."

If I set the ThrowOnInitFailure condition to false the check Image is not displayed.


Posted on: August 6, 2015 / Version: 1.0