Flow
Flow is a Facebook Paper inspired tutorial framework to make users familiar with gesture driven user interfaces. Watch the DEMO video 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.