All Projects → praagyajoshi → WVWalkthroughView

praagyajoshi / WVWalkthroughView

Licence: MIT license
WVWalkthroughView is an objective C based utility to highlight certain parts for iOS apps.

Programming Languages

objective c
16641 projects - #2 most used programming language

Projects that are alternatives of or similar to WVWalkthroughView

GuideChimp
Create interactive guided product tours in minutes with the most non-technical friendly, lightweight and extendable library.
Stars: ✭ 138 (+375.86%)
Mutual labels:  onboarding, walkthrough
Onboardkit
Customisable user onboarding for your iOS app
Stars: ✭ 334 (+1051.72%)
Mutual labels:  onboarding, walkthrough
Ahoy Onboarding
Android onboarding library.
Stars: ✭ 951 (+3179.31%)
Mutual labels:  onboarding, walkthrough
RazorComponents.Markdown
Razor component for Markdown rendering.
Stars: ✭ 30 (+3.45%)
Mutual labels:  highlighting
StalkPy
A Python script to opens the major social networks associated to the specific handle. Inspired from https://github.com/samanthakem/HandleStalker 🚀 💃
Stars: ✭ 21 (-27.59%)
Mutual labels:  highlighting
react-tagify
📛 Powerful Pure React Component For Hashtags and Mentions In Your React App
Stars: ✭ 24 (-17.24%)
Mutual labels:  highlighting
pal-widgets
A collection of widgets for making amazing onboarding experience in your flutter applications
Stars: ✭ 21 (-27.59%)
Mutual labels:  onboarding
idea-return-highlighter
Highlight return keywords.
Stars: ✭ 24 (-17.24%)
Mutual labels:  highlighting
contentful-wizard
Add walkthrough of contentful blocks to your application
Stars: ✭ 33 (+13.79%)
Mutual labels:  walkthrough
aloha
An onboarding bot for busy admins and growing Slack teams.
Stars: ✭ 20 (-31.03%)
Mutual labels:  onboarding
Android-Onboarder
Android Onboarder is a simple and lightweight library that helps you to create cool and beautiful introduction screens for your apps without writing dozens of lines of code.
Stars: ✭ 85 (+193.1%)
Mutual labels:  onboarding
Highlightr-Plugin
A minimal and aesthetically pleasing highlighting menu that makes color-coded highlighting much easier 🎨.
Stars: ✭ 321 (+1006.9%)
Mutual labels:  highlighting
Ahoy
A lightweight swift library to build onboarding experiences.
Stars: ✭ 51 (+75.86%)
Mutual labels:  onboarding
network tech
Cisco config syntax and snippets for Sublime Text
Stars: ✭ 82 (+182.76%)
Mutual labels:  highlighting
6502-npp-syntax
Notepad++ Syntax Highlighting for 6502 Assembly (and NESASM)
Stars: ✭ 21 (-27.59%)
Mutual labels:  highlighting
pal-plugin
The Flutter onboarding editor
Stars: ✭ 16 (-44.83%)
Mutual labels:  onboarding
etalab
Livret de bienvenue destiné aux membres d’Etalab.
Stars: ✭ 24 (-17.24%)
Mutual labels:  onboarding
stepper-indicator
Step indicator for onboarding or simple viewpager
Stars: ✭ 180 (+520.69%)
Mutual labels:  onboarding
members
Online portal for Code for Denver members
Stars: ✭ 15 (-48.28%)
Mutual labels:  onboarding
highlight-words
vscode extension to highlight all occurrences of words or expression
Stars: ✭ 32 (+10.34%)
Mutual labels:  highlighting

WVWalkthroughView

A simple utility written in Objective C to help developers walk a user through their app. It allows a message to be displayed, a particular part of the screen to be (optionally) highlighted and the touch in the highlighted area to be (optionally) passed through.

The first runs and walkthroughs, in my opinion, are one of the most important ways to make a user feel comfortable in a new app.

Demo

Use it however you like - highlighting a particular element, with a touch pointer or covering the whole screen.

You can see it in action here: https://gfycat.com/DirectShamefulFlycatcher. There is also a demo project included to showcase a few of the options.

Installation

Just drag and drop WVWalkthroughView.h and WVWalkthroughView.m files into your iOS project and you'll be ready to go!

Usage

It's ridiculously easy to use this view. Since it extends UIView, just create a new instance of WVWalkthroughView and add it as a subview to any view.

  1. Import the WVWalkthroughView
#import "WVWalkthroughView.h"
  1. Create an instance of WVWalkthroughView and set it's options and delegate
_walkthrough = [[WVWalkthroughView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT)];
[_walkthrough setHideOnTappingEmptyArea:YES];
[_walkthrough setHideOnTappingTooltip:YES];
[_walkthrough setDelegate:self];
  1. Conform your ViewController to the WVWalkthroughViewDelegate protocol and implement the methods as required
@interface ViewController () <WVWalkthroughViewDelegate, UITableViewDataSource, UITableViewDelegate>

...

- (void) didTapEmptyAreaForWalkthrough:(WVWalkthroughView *)walkView {
  //...
}

- (void) didTapMaskedAreaForWalkthrough:(WVWalkthroughView *)walkView {
  //...
}

- (void) didTapTooltipForWalkthrough:(WVWalkthroughView *)walkView {
  //...
}
  1. Add it to the view of your app. I recommend adding it to the window using:
[[UIApplication sharedApplication].keyWindow addSubview:_walkthrough];
  1. Whenever you want to show the overlay, use the method show
[_walkthrough show];

Properties

There are various properties to play around with and they have also been explained in WVWalkthroughView.h.

/**
 * Delegate for receiving callbacks.
 */
@property (nonatomic, weak) id<WVWalkthroughViewDelegate> delegate;

/**
 * The text to be shown as a tooltip.
 */
@property (nonatomic, strong) NSString *text;

/**
 * Font of the icon label.
 */
@property (nonatomic, strong) UIFont *iconFont;

/**
 * The icon to be displayed in the tooltip. Visible
 * only if the `text` property is set.
 */
@property (nonatomic, strong) NSString *iconText;

/**
 * When set to YES, then it allows touches on the masked area
 * to pass through to the view below. Default is NO.
 */
@property (nonatomic, assign) BOOL passTouchThroughEmptyArea;

/**
 * When set to YES, then it shows an animated touch pointer
 * in the middle of the masked area. Default is NO.
 */
@property (nonatomic, assign) BOOL showTouchPointer;

/**
 * When set to YES, then the WalkthoughView hides itself
 * when an empty area (area other than the tooltip and the
 * masked area) is tapped. Default is NO.
 */
@property (nonatomic, assign) BOOL hideOnTappingEmptyArea;

/**
 * When set to YES, then the WalkthoughView hides itself
 * when the tooltip is tapped. Default is NO.
 */
@property (nonatomic, assign) BOOL hideOnTappingTooltip;

/**
 * When set to YES, and when passTouchThroughEmptyArea is NO
 * then the WalkthroughView hides itself on tapping the masked area.
 * Default is NO.
 */
@property (nonatomic, assign) BOOL hideOnTappingMaskedArea;

Methods

The following methods are supported as of now:

/**
 * Shows the WalkthroughView with a subtle animation. Use this to
 * show the WalkthoughView after adding it as a subview.
 */
- (void) show;

/**
 * Hides the WalkthroughView with a subtle animation and removes it from
 * it's superview after completing the animation. Use this to
 * hide the WalkthoughView after adding it as a subview.
 */
- (void) hide;

/**
 * Masks the specified CGRect with the specified radius. Which means that
 * the given CGRect will be cut out.
 */
- (void) addMaskWithRect: (CGRect) rect andCornerRadius: (CGFloat) radius;

Delegates

The following delegates have been implemented:

@optional
- (void) didTapMaskedAreaForWalkthrough: (WVWalkthroughView *) walkView;
- (void) didTapEmptyAreaForWalkthrough: (WVWalkthroughView *) walkView;
- (void) didTapTooltipForWalkthrough: (WVWalkthroughView *) walkView;

License

WVWalkthroughView has been released under an MIT License. I'll be extremely happy if you let me know when you use it in your app.


www.praagya.com

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].