/Flow

Gesture based tutorials inspired by Facebook Paper.

Primary LanguageObjective-CMIT LicenseMIT

Flow

Version License Platform

Flow is a Facebook Paper inspired tutorial framework to make users familiar with gesture driven user interfaces. Watch the DEMO video here:

IMAGE ALT TEXT HERE

Installation

Flow is available through CocoaPods, to install it simply add the following line to your Podfile:

pod "Flow"

Usage

Scheduling a new tutorial

[[FLWTutorialController sharedInstance] scheduleTutorialWithIdentifier:identifier afterDelay:0.5 withPredicate:^BOOL{
  // return NO if you are not ready to start this tutorial yet.
  return YES;
} constructionBlock:^(id<FLWTutorial> tutorial) {
  tutorial.title = ...; // assign tutorials title
  tutorial.gesture = ...; // assigne tutorials gesture
}];

Gestures

Flow ships with the buildin gestures FLWTapGesture, FLWSwipeGesture and FLWCompoundGesture and supports all gestures conforming to the FLWTouchGesture protocol:

@protocol FLWTouchGesture <NSObject>

@property (nonatomic, assign) CGFloat duration;

@property (nonatomic, readonly) CGFloat progress;
- (void)setProgress:(CGFloat)progress onView:(UIView *)view;

@end

Changing progress of interactive tutorials

[[FLWTutorialController sharedInstance] setProgress:progress inTutorialWithIdentifier:identifier];

Completion

Mark a tutorial as completed

[[FLWTutorialController sharedInstance] completeTutorialWithIdentifier:dummyIdentifier];

Tutorial invalidation

If your app leaves the scope where the tutorial is valid:

[[FLWTutorialController sharedInstance] invalidateTutorialWithIdentifier:identifier];

Author

Oliver Letterer

License

Flow is available under the MIT license. See the LICENSE file for more info.