• Stars
    star
    1,820
  • Rank 24,515 (Top 0.5 %)
  • Language
    Objective-C
  • Created about 12 years ago
  • Updated over 10 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Easily add custom folding and page-flipping transitions to UIViews and UIViewControllers

MPTransition

Update: MPTransition now comprises MPFoldTransition and MPFlipTransition

Update 2: For a touch gesture-enabled container controller with page-flipping (not just a transition), see MPFlipViewController

MPFoldTransition is a set of classes to add folding-style transitions to iOS 5 projects.
iPhone Fold
MPFlipTransition is a set of classes to add page-flipping transitions to iOS 5 projects.
iPhone Flip
I built it using ARC (and for the demo portion storyboards) strictly for convenience, so it uses iOS 5. I imagine the relevant code (minus the UIStoryboardSegue helper classes) could be easily ported to iOS 4.3 under ARC, or ported to iOS 4.0 with memory management inserted. (Hint: If you're porting to non-ARC, you'll need to retain [sourceView superView] in the init method.)

Features

  • Convenience methods to extend UIViewController to present/dismiss a view controller modally using fold/flip transitions
  • Convenience methods to extend UINavigationController to push/pop view controllers onto the navigation stack using fold/flip transitions
  • Convenience methods to transition between any 2 UIViewControllers or UIViews
  • 3 Custom UIStoryboardSegue subclasses to easily add folding/flipping transitions via Interface Builder in your storyboards
  • Fully customizable to adjust style, duration, timing curves, and completion action
  • Blocks-based: many methods include a completion block parameter following the pattern of block-based animations introduced in iOS 4.

Fold Styles

Currently there are 3 style bits that can be combined for 8 different styles.

  • Direction: Fold vs. Unfold
    Fold vs. Unfold
  • Mode: Normal vs. Cubic
    Normal vs. Cubic
  • Orientation: Vertical vs. Horizontal
    Vertical vs. Horizontal

Flip Styles

Currently there are 3 style bits that can be combined for 8 different styles.

  • Direction: Forward vs. Backward
    Forward vs. Backward
  • Orientation: Horizontal vs. Vertical
    Horizontal vs. Vertical
  • Perspective: Normal vs. Reverse
    Normal vs. Reverse

Requirements

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

How To Use

See the "MPFoldTransition.h" (and "MPFlipTransition.h") header file(s) for methods and use the demo project as a reference. The Segue classes (under directory of the same name) are optional, only if you want to include storyboard support. Otherwise you just need the classes under the bottommost MPFoldTransition directory.

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 MPTransition, 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
Hire Me: http://crazymilksoftware.com/

More Repositories

1

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
Objective-C
490
star
2

IntroducingCollectionViews

The sample application to accompany my conference talk on UICollectionView.
Objective-C
485
star
3

EnterTheMatrix

The sample application to accompany my conference talk "Enter The Matrix" on matrix transformations. Abstract: Matrix transformations can make your user interfaces come to life: translate, scale, and rotate. Each on its own is relatively simple and straightforward. Yet many developers are daunted when 2 or more operations need to be combined. What if you need to rotate or zoom about an off-center (or even off-screen) point? How do you combine multiple transformations into a single animation? Learn everything you need to know to get started with complex matrix transformations in CoreGraphics and CoreAnimation.
Objective-C
318
star
4

CircleLayout

fixing bugs in WWDC 2012's 219 session sample code
Objective-C
259
star
5

Animation3DSandbox

Objective-C
79
star
6

AntiAliasingDemo

Sample app demonstrating a technique for efficient edge antialiasing of static content
Objective-C
51
star
7

CALayer-vs-UIView-based-animation

Sample project demonstrating some differences between animation types as regards UIKit touch event handling. UPDATE: This was apparently a compiler issue and was fixed in Xcode 4.3
Objective-C
12
star
8

AnimationPerformance

Sample iOS app to demonstrate performance tuning of animations with Instruments.
Objective-C
10
star
9

DSTutorial

Repo to accompany my half-day tutorial "Engineering Design Systems"
Swift
6
star
10

BeaconDemo

iBeacons demo app for my conference talk, "I, Beacon"
Objective-C
2
star
11

UIKit-Re-Animator

Sample code to play with new iOS 10 animation API's
Objective-C
1
star