xf8 / DXImagePicker

Simple Imager picker which mimic Facebook's UI and UX

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DXImagePicker

Simple Imager picker which mimic Facebook's UI and UX

###Demo

gif

###Purpose

We wanna an image picker which contains both camera capture and albums selection(indexed) in a single view controller, just one that does not include push and present other stuff. Like facebook's app does! So, here comes this project.

###How to use

  1. Drop DXImagePicker into your project and #import "DXImagePicker.h" somewhere you need

  2. In some your viewController method, doing this:

     // present the picker and set the delegate, note: you'd better present not push.
     - (void)presentPhotoSelectBrowser
     {
         DXImagePicker *browser = [DXImagePicker new];
         browser.delegate = self;
         UINavigationController *navcon = [[UINavigationController alloc] initWithRootViewController:browser];
         [self presentViewController:navcon animated:YES completion:nil];
     }
    
     // implement the delegate method, and update your UI
     - (void)dx_imagePickerController:(DXImagePicker *)picker didSelectAssets:(NSArray *)assets didCamptureImage:(UIImage *)image
     {
     
         [self.images removeAllObjects];
         [self.collectionView reloadData];
         
         
         for (ALAsset *asset in assets) {
             UIImage *thumbnail = [[UIImage alloc] initWithCGImage:asset.thumbnail];
             [self.images addObject:thumbnail];
         }
         
         if (image) {
             [self.images addObject:image];
         }
         
         
         [self.collectionView reloadData];
         self.selectedAssetNames = [DXImagePicker getAssetNamesByAssets:assets];
     }
    
  3. If you don't need to let the user continue to choosing on last choosen state, that's all. But if you did, here's some property need to be set.

     //Before presenting imagePicker, you need set this. Where does it come from?
     dx_imagePickerController:didSelectAssets:didCamptureImage: this delegate return the assets, you need to hold the [DXImagePicker getAssetNamesByAssets:assets] assets names; and set that to this property.
    
     @property (nonatomic, strong) NSArray *shouldSelectedAssetFileNames;
    
    
     //dx_imagePickerController:didSelectAssets:didCamptureImage: callback this, and also you need an ivar to hold it, next time you present the imagePicker, set this property.
     		
     @property (nonatomic, strong) NSString *shouldSelectAlbumName;
    

About

Simple Imager picker which mimic Facebook's UI and UX

License:MIT License


Languages

Language:Objective-C 100.0%