/CRMotionView

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

Primary LanguageObjective-CMIT LicenseMIT

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