Coder Social home page Coder Social logo

dximagepicker's Introduction

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;
    

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.