Code Monkey home page Code Monkey logo

ptimagealbumviewcontroller's Introduction

How To Get

1. Install dependency: Nimbus

If your project uses CocoaPods to manage its dependencies, easiest way to do it is to add the following in your Podfile:

pod 'Nimbus/Photos', :podspec => 'https://gist.github.com/exalted/7655606/raw/ce27220c457984ecd30fb800503b4c299159ace0/Nimbus.podspec'

2. Copy PTImageAlbumViewController directory into your own project

Instead of manually downloading files, you could use git submodules:

git submodule add https://github.com/exalted/PTImageAlbumViewController.git

3. #import headers

#import <Nimbus/NimbusCore.h>
#import <Nimbus/NimbusPhotos.h>

4. Build & run

If you have trouble, check out AlbumDemo project in Examples directory for a working example.

Screenshots

A nice image scrubber, just like in Photos.app by Apple on the iPad.

A nice image scrubber, just like in Photos.app by Apple on the iPad. A nice image scrubber, just like in Photos.app by Apple on the iPad.

One tap on the screen and all the chrome goes away!

One tap on the screen and all the chrome goes away! One tap on the screen and all the chrome goes away!

Double tap to fit to screen by zooming in...

Double tap to fit to screen by zooming in... Double tap to fit to screen by zooming in...

Flip from one image to another with multi–touch gestures you already know and love.

Flip from one image to another with multi–touch gestures you already know and love. Flip from one image to another with multi–touch gestures you already know and love.

Pinch to zoom in and out to take a much closer look.

Pinch to zoom in and out to take a much closer look. Pinch to zoom in and out to take a much closer look.

Sample Code

  1. Create a new subclass of PTImageAlbumViewController, say YourAwesomeViewController
  2. Implement PTImageAlbumViewDataSource
  • Number of images
  • Path or URL for each of'em (high–definition and thumbnail)
  • Size (width & height) for high–definition images
// YourAwesomeViewController.h

#import "PTImageAlbumViewController.h"

@interface YourAwesomeViewController : PTImageAlbumViewController

// ...

@end
// YourAwesomeViewController.m

#import "YourAwesomeViewController.h"

@implementation YourAwesomeViewController

//...

#pragma mark - PTImageAlbumViewDataSource

- (NSInteger)numberOfImagesInAlbumView:(PTImageAlbumView *)imageAlbumView {
    #warning missing implementation
}

- (NSString *)imageAlbumView:(PTImageAlbumView *)imageAlbumView sourceForImageAtIndex:(NSInteger)index {
    #warning missing implementation
}

- (CGSize)imageAlbumView:(PTImageAlbumView *)imageAlbumView sizeForImageAtIndex:(NSInteger)index {
    #warning missing implementation
}

- (NSString *)imageAlbumView:(PTImageAlbumView *)imageAlbumView sourceForThumbnailImageAtIndex:(NSInteger)index {
    #warning missing implementation
}

//...

@end

How To Contribute

This project uses CocoaPods to manage dependencies. Installing it is as easy as running the following commands in the terminal:

sudo gem install cocoapods

If you have any trouble during the installation, please read CocoaPods documentation.

When you've installed CocoaPods, then:

git clone https://github.com/exalted/PTImageAlbumViewController.git PTImageAlbumViewController-exalted
cd PTImageAlbumViewController-exalted/Examples/AlbumDemo/
pod install
open AlbumDemo.xcworkspace

ptimagealbumviewcontroller's People

Contributors

al333z avatar exalted avatar losingle avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

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.