Code Monkey home page Code Monkey logo

mpflipviewcontroller's Introduction

MPFlipViewController

A custom container view controller following the iOS 5 containment API that navigates between child view controllers via touch gestures and page-flip animations

This is the app to accompany my talk "Implementing Custom Container View Controllers" I presented at CocoaConf DC 2012.

iPhone screenshot

Requirements

  • Xcode 4.4 or higher
  • LLVM compiler
  • iOS 5 or higher
  • ARC

API

The API is simple and modeled after UIKit's UIPageViewController. There is a Data Source protocol (to provide previous and next controllers) and a Delegate protocol.

More details can be found in this blog post. See MPFlipViewController.h for full details.

How To Use

Build and run the included demo app, and see how it works. The controller files are in the "Controller" directory and the demo app is in the "Demo" directory.

The background images in the demo app are not freely distributable. They're by Glyphish and you should get your own copy. While you're at it, they make a great set of icons too.

Licensing

Read Source Code License.rtf, but the gist is:

  • Anyone can use it for any type of project
  • All I ask for is attribution somewhere

Support, bugs and feature requests

There is absolutely no support offered with this component. You're on your own! If you want to submit a feature request, please do so via the issue tracker on github.

If you want to submit a bug report, please also do so via the issue tracker, including a diagnosis of the problem and a suggested fix (in code). If you're using MPFlipViewController, you're a developer - so I expect you to do your homework and provide a fix along with each bug report. You can also submit pull requests or patches.

Please don't submit bug reports without fixes!

(The preceding blurb provided courtesy of the legendary Matt Gemmell)

Best,
Mark Pospesel

Website: http://markpospesel.com/
Contact: http://markpospesel.com/about
Twitter: http://twitter.com/mpospese

mpflipviewcontroller's People

Contributors

mpospese 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  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

mpflipviewcontroller's Issues

Turn page suggestion

Great work! I really enjoy your code!
I think it would be nice to be able to somehow "suggest" the user what to do when a flip view controller is first shown, i.e. swipe horizontally or vertically in order to turn page...
This could be accomplished using the same animation the control uses when the user has reached the last page.
So, a method like suggestPageTurn could be added to allow such a partial page turn programmatically.
I have no idea on how to implement such a code in your library, since I'm totally inexpert in UI animations...

MPFlipViewController doesn't set the view frame upon rotation

When the device rotates, it fails to redraw the view being displayed and as such is displayed incorrectly. To get around this I had to change the view's frame in the didRotateFromInterfaceOrientation delegate method of the UIViewController.

  • (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
    {
    [self.flipViewController.viewController.view setFrame:self.view.bounds];
    }

Not sure if this is intentional or not, but I have seen a few people come across this issue before.

The library works slow on iPhone 4

Hello,

The library is great but there is one problem. When I test it on iPhone 4 flip is very slow. I took 1 second to start the flip.

Support for ScrollViews

Hi, i added some nifty stuff to your lib to handle scrollviews instead of a scroll animation with a flip animation.

Are you interested in merging this to the main repo?

Conflicting with PickerView

Hi Mark Pospesel,
I am using MPFlipViewController on tableview, where picker view is added on the cell. Picker View defined in the nib when my nib loads with this animation, it causes a black effect in the picker background.
Please let me know the solution for the query
I have attached video file of my simulator please check this out!

Thanks,
Paritosh

Picker_issue.zip

Multi-books style

Hi there,
Does anyone know how to modify this project as multi-books style?
Ex: Many books on the shelf and each book allows to swipe/flip?

Like duplicate another flipViewController ??

Cheers,
Paris

How to controle flip move

When i use swipe to flip if i do little fast the swipe continue and do effect, i want control, more controle, only go on flip effect when i left my finger from touch

Little issues

Hello,when i drag edge section can trigger flip,how can i drag inside edge trigger flip like AFKPageFlipper

Load data dynamically on switch/cases

Hello,
Anybody has an idea to load the data dynamically on cases ? Since a NSarray for example ?

Thank you for your help :(
Cordially

Concerned code

switch ([self movieIndex]) {
case 1:
self.titleLabel.text = @"The Matrix (1999)";
self.descriptionField.text = @"A computer hacker learns from mysterious rebels about the true nature of his reality and his role in the war against its controllers. Neo and the rebel leaders estimate that they have 72 hours until 250,000 probes discover Zion and destroy it and its inhabitants. During this, Neo must decide how he can save Trinity from a dark fate in his dreams. Neo and the rebel leaders estimate that they have 72 hours until 250,000 probes discover Zion and destroy it and its inhabitants. During this, Neo must decide how he can save Trinity from a dark fate in his dreams.";
break;

case 2:
self.titleLabel.text = @"The Matrix Reloaded (2003)";
self.descriptionField.text = @"Neo and the rebel leaders estimate that they have 72 hours until 250,000 probes discover Zion and destroy it and its inhabitants. During this, Neo must decide how he can save Trinity from a dark fate in his dreams. Neo and the rebel leaders estimate that they have 72 hours until 250,000 probes discover Zion and destroy it and its inhabitants. During this, Neo must decide how he can save Trinity from a dark fate in his dreams.";
break;

case 3:
self.titleLabel.text = @"The Matrix Revolutions (2003)";
self.descriptionField.text = @"The human city of Zion defends itself against the massive invasion of the machines as Neo fights to end the war at another front while also opposing the rogue Agent Smith. Neo and the rebel leaders estimate that they have 72 hours until 250,000 probes discover Zion and destroy it and its inhabitants. During this, Neo must decide how he can save Trinity from a dark fate in his dreams.";
break;

default:
break;
}

how to turn off one touch flip

I want to turn off one touch and flip, i want just let swipe gesture to flip and turn off one touch auto flip, how can i do that?

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.