TestsTested | ✗ |
LangLanguage | Obj-CObjective C |
License | MIT |
ReleasedLast Release | Dec 2014 |
Maintained by Unclaimed.
Note: This is a fork from w5mith/WSAssetPickerController. This version make changes to the image picker controller so that pre-selection is allowed (Some of the images in the image picker view are selected when they are shown).
You can use this version with cocoapods:
pod '
This is an iOS, Objective-C alternative to UIImagePickerController
that looks almost exactly the same, but provides the ability to select multiple images. It's as easy to setup as UIImagePickerController
and it works in both portrait and landscape orientations. It requires the addition of AssetsLibrary.framework. This code uses ARC.
Note: Using AssetsLibrary.framework will prompt users to allow use of their location data in order to access their photos.
There are a few ways to add WSAssetPickerController
to your project.
Option 1: Build and add the static library to your project:
WSAssetPickerCombined
schemeWSAssetPicker
directory (found in the builds folder in the project directory) into your project.libWSAssetPicker-Combined.a
has been added to your targets Build PhasesOption 2:
Copy all the files in the src
directory into your project and be sure 'Copy items to destination group's folder' is checked
Option 3: You can also get the code via CocoaPods (thanks @AlexIzvekov)
#import "WSAssetPicker.h"
WSAssetPickerController
passing a delegate of type id <WSAssetPickerControllerDelegate>
WSAssetPickerController
instancepng
files: WSAssetViewSelectionIndicator.png
and [email protected]
or make your own.WSAssetPickerController *controller = [[WSAssetPickerController alloc] initWithDelegate:self];
[self presentViewController:controller animated:YES completion:NULL];
- (void)assetPickerControllerDidCancel:(WSAssetPickerController *)sender
{
// Dismiss the WSAssetPickerController.
[self dismissViewControllerAnimated:YES completion:NULL];
}
- (void)assetPickerController:(WSAssetPickerController *)sender didFinishPickingMediaWithAssets:(NSArray *)assets
{
// Hang on to the picker to avoid ALAssetsLibrary from being released (see note below).
self.picker = sender;
// Dismiss the WSAssetPickerController.
__block id weakSelf = self;
[self dismissViewControllerAnimated:YES completion:^{
// Do something with the assets here.
// Release the picker.
[weakSelf setPicker:nil];
}];
}
Note: The ALAsset
objects in the assets
array are only valid while the ALAssetsLibrary
instance they came from still exists.
(The ALAssetsLibrary
is created in the picker controller implementation)