A custom photo viewer that implements device motion scrolling, inspired by Facebook Paper.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
CRMotionView
CRMotionViewDemo
.gitignore
.travis.yml
CRMotionView.podspec
LICENSE
README.md

README.md

CRMotionView

A custom photo viewer that implements device motion scrolling, inspired by Facebook Paper.

License MIT Build Platform Build Version Build Status

Installation

CocoaPods

  • Add the dependency to your Podfile:
platform :ios
pod 'CRMotionView'
...
  • Run pod install to install the dependencies.

Source files

Just clone this repository or download it in zip-file. Then you will find source files under CRMotionView directory. Copy them to your project.

Usage

  • Import the header file to your view controller:
#import "CRMotionView.h"
  • Create an instance
CRMotionView *motionView = [[CRMotionView alloc] initWithFrame:self.view.bounds];
  • Set an image...
[motionView setImage:[UIImage imageNamed:@"Image"]];
  • ... or set a generic view
UIView *myView = [UIView alloc] init...
[motionView setContentView:myView];
  • Add to your view
[self.view addSubview:motionView];
  • Additionally, if you need to disable motion
[motionView setMotionEnabled:NO];
  • Full example:
CRMotionView *motionView = [[CRMotionView alloc] initWithFrame:self.view.bounds];
[motionView setImage:[UIImage imageNamed:@"Image"]];
[self.view addSubview:motionView];

Example

CRMotionView-demo1
CRMotionView-demo2
CRMotionView-demo3

Requirements

  • iOS 6.0 or higher
  • ARC
  • Core Motion

Bugs

  • UIScrollView's scroll bar indicator align not handled correctly in some cases.
  • Device landscape orientation (Both, iPhone and iPad).

Contributing

Anyone who would like to contribute to the project is more than welcome.

  • Fork this repo
  • Make your changes
  • Submit a pull request

License

CRMotionView is released under the MIT license. See LICENSE.

Contact

Christian Roman

http://chroman.me

chroman16@gmail.com

@chroman