All Projects β†’ vpeschenkov β†’ Pvonboardkit

vpeschenkov / Pvonboardkit

Licence: mit
Add your own walkthrough/intro/tutorial into the app

Programming Languages

swift
15916 projects

Projects that are alternatives of or similar to Pvonboardkit

Cehv10 Notes
πŸ“• Both personal and public notes for EC-Council's CEHv10 312-50, because its thousands of pages/slides of boredom, and a braindump to many
Stars: ✭ 170 (+233.33%)
Mutual labels:  tutorial, walkthrough
Gistlyn
Run Roslyn Gists
Stars: ✭ 75 (+47.06%)
Mutual labels:  tutorial, walkthrough
React Native Copilot
Step-by-step walkthrough for your react native app
Stars: ✭ 1,783 (+3396.08%)
Mutual labels:  intro, walkthrough
React Native Onboarding Swiper
πŸ›³ Delightful onboarding for your React-Native app
Stars: ✭ 596 (+1068.63%)
Mutual labels:  tutorial, intro
Bubbleshowcase Android
BubbleShowCase is a framework that let you to use informative bubbles to help your users pointing out different App features.
Stars: ✭ 313 (+513.73%)
Mutual labels:  tutorial, intro
Material Onboarding
A simple library which allows easy replication of several* app onboarding techniques.
Stars: ✭ 217 (+325.49%)
Mutual labels:  tutorial, intro
Reactour
Tourist Guide into your React Components
Stars: ✭ 2,782 (+5354.9%)
Mutual labels:  intro, walkthrough
Intro
An iOS framework to easily create simple animated walkthrough, written in Swift.
Stars: ✭ 33 (-35.29%)
Mutual labels:  walkthrough, intro
Eaintroview
Highly customizable drop-in solution for introduction views.
Stars: ✭ 3,759 (+7270.59%)
Mutual labels:  intro, walkthrough
Ahoy Onboarding
Android onboarding library.
Stars: ✭ 951 (+1764.71%)
Mutual labels:  tutorial, walkthrough
Blockchaindemo
A simple demo for Blockchain in Swift
Stars: ✭ 44 (-13.73%)
Mutual labels:  tutorial
Learn Solidity
Code base for "Learn Solidity: Programming Language for Ethereum Smart Contracts" course in Tosh Academy & Blockchain Council
Stars: ✭ 44 (-13.73%)
Mutual labels:  tutorial
Vueinterface
Repository for my tutorial course: Building an interface with Vue.js on LinkedIn Learning and Lynda.com.
Stars: ✭ 46 (-9.8%)
Mutual labels:  tutorial
Alexa Soundcloud
soundcloud integration for alexa
Stars: ✭ 47 (-7.84%)
Mutual labels:  tutorial
Intro To Apis Course
Introduction to APIs course
Stars: ✭ 1,009 (+1878.43%)
Mutual labels:  tutorial
Xamarin Forms Walkthrough
Mobile App Walkthrough created with Xamarin.Forms
Stars: ✭ 46 (-9.8%)
Mutual labels:  walkthrough
Vue Tut
Easily build beautiful tutorials with Vue
Stars: ✭ 43 (-15.69%)
Mutual labels:  tutorial
Raw Vulkan
πŸ”₯ Experiments building Vulkan applications, libraries, and abstractions.
Stars: ✭ 42 (-17.65%)
Mutual labels:  tutorial
Teachyourselfcs Cn
TeachYourselfCS ηš„δΈ­ζ–‡ηΏ»θ―‘ | A Chinese translation of TeachYourselfCS
Stars: ✭ 11,772 (+22982.35%)
Mutual labels:  tutorial
Ncar Python Tutorial
Numerical & Scientific Computing with Python Tutorial
Stars: ✭ 50 (-1.96%)
Mutual labels:  tutorial

PVOnboardKit

PVOnboardKit is a framework that allows you to add your own walkthrough/intro/tutorial into your app. As the main concept uses UITableView. Also, for more customization PVOnboardKit uses TAPageControl instead of UIPageControl.

Requirements

  • iOS 8 and later

Installation

To install PVOnboardKit using CocoaPods, add this line to your Podfile:

pod 'PVOnboardKit'
  1. Import PVOnboardKit
  2. Create PVOnboardView and add to your view
  3. Implement PVOnboardViewDelegate and PVOnboardViewDataSource and assign to instance of PVOnboardView
  4. Call reloadData from instance of PVOnboardView
  5. Enjoy 😎

PVOnboardPage Protocol

@optional
/**
 * Invoked just after transition on the next page.
 */
- (void)willContentShow;
/**
 * Invoked before transition on the next page.
 */
@optional
- (void)didContentShow;
/**
 * Invoked just after transition on the next page.
 */
@optional
- (void)willContentHide;
/**
 * Invoked before transition on the next page.
 */
@optional
- (void)didContentHide;

PVOnboardView Delegate Methods

@optional
/**
 * Invoked after a user did touch on the left action button.
 *
 * @param onboardView The onboardView.
 * @param index The index of the page.
 */
- (void)onboardView:(nonnull PVOnboardView *)onboardView didTouchOnLeftActionButtonAtIndex:(NSInteger)index;
@optional
/**
 * Invoked after a user did touch on the right action button.
 *
 * @param onboardView The onboardView.
 * @param index The index of the page.
 */
- (void)onboardView:(nonnull PVOnboardView *)onboardView didTouchOnRightActionButtonAtIndex:(NSInteger)index;

PVOnboardView DataSource Methods

@required
/**
 * Requests a number of pages in current onboardView.
 *
 * @param onboardView The onboard-view object asking for number of pages.
 * @return The number of pages.
 */
- (NSInteger)numberOfPagesInOneboardView:(nonnull PVOnboardView *)onboardView NS_SWIFT_NAME(numberOfPages(in:));
@required
/**
 * Requests a page view for the page at index.
 *
 * @param onboardView The onboard-view object asking for the view.
 * @param index An index of a requested page.
 * @return The view that conforms to PVOnboardPage protocol.
 */
- (nonnull UIView *)onboardView:(nonnull PVOnboardView *)onboardView viewForPageAtIndex:(NSInteger)index NS_SWIFT_NAME(onboardView(_:viewForPageAtIndex:));
@optional
/**
 * Requests a visible state for the right action button for page at index.
 *
 * @param onboardView The onboard-view object asking for the right button
 * visible state.
 * @param index An index of a requested page.
 * @return Return YES if a action button should be visible or NO if shouldn't.
 */
- (BOOL)onboardView:(nonnull PVOnboardView *)onboardView shouldHideRightActionButtonForPageAtIndex:(NSInteger)index;
@optional
/**
 * Requests a title for the right action button for page at index.
 *
 * @param onboardView The onboard-view object asking for the right button title.
 * @param index An index of a requested page.
 * @return The string to use as a title for the right action button.
 */
- (nullable NSString *)onboardView:(nonnull PVOnboardView *)onboardView titleForRightActionButtonAtIndex:(NSInteger)index;
@optional
/**
 * Requests title edge insets for the right action button for page at index.
 *
 * @param onboardView The onboard-view object asking for the right button edge
 * insets.
 * @param index An index of a requested page.
 * @return The edge insets to use as the title edge insets for the right
 * action button.
 */
- (UIEdgeInsets)onboardView:(nonnull PVOnboardView *)onboardView titleEdgeInsetsForRightActionButtonAtIndex:(NSInteger)index;
@optional
/**
 * Requests an image for the right action button for page at index.
 *
 * @param onboardView The onboard-view object asking for the right button image.
 * @param index An index of a requested page.
 * @return The image to use as the image for the right action button.
 */
- (nullable UIImage *)onboardView:(nonnull PVOnboardView *)onboardView imageForRightActionButtonAtIndex:(NSInteger)index;
@optional
/**
 * Requests image edge insets for the right action button for page at index.
 *
 * @param onboardView The onboard-view object asking for the right button image
 * edge insets.
 * @param index An index of a requested page.
 * @return The edge insets to use as the image edge insets for the right
 * action button.
 */
- (UIEdgeInsets)onboardView:(nonnull PVOnboardView *)onboardView imageEdgeInsetsForRightActionButtonAtIndex:(NSInteger)index;
@optional
/**
 * Requests a visible state for the left action button for page at index.
 *
 * @param onboardView The onboard-view object asking for the left button
 * visible state.
 * @param index An index of a requested page.
 * @return Return YES if a action button should be visible or NO if shouldn't.
 */
- (BOOL)onboardView:(nonnull PVOnboardView *)onboardView shouldHideLeftActionButtonForPageAtIndex:(NSInteger)index;
@optional
/**
 * Requests a title for the left action button for page at index.
 *
 * @param onboardView The onboard-view object asking for the left button title.
 * @param index An index of a requested page.
 * @return Return the string that should use as a title.
 */
- (nullable NSString *)onboardView:(nonnull PVOnboardView *)onboardView titleForLeftActionButtonAtIndex:(NSInteger)index;
@optional
/**
 * Requests title edge insets for the left action button for page at index.
 *
 * @param onboardView The onboard-view object asking for the left button edge
 * insets.
 * @param index An index of a requested page.
 * @return The edge insets to use as the title edge insets for the left
 * action button.
 */
- (UIEdgeInsets)onboardView:(nonnull PVOnboardView *)onboardView titleEdgeInsetsForLeftActionButtonAtIndex:(NSInteger)index;
@optional
/**
 * Requests an image for the left action button for page at index.
 *
 * @param onboardView The onboard-view object asking for the left button image.
 * @param index An index of a requested page.
 * @return The image to use as the image for the left action button.
 */
- (nullable UIImage *)onboardView:(nonnull PVOnboardView *)onboardView imageForLeftActionButtonAtIndex:(NSInteger)index;
@optional
/**
 * Requests image edge insets for the left action button for page at index.
 *
 * @param onboardView The onboard-view object asking for the left button image
 * edge insets.
 * @param index An index of a requested page.
 * @return The edge insets to use as the image edge insets for the left
 * action button.
 */
- (UIEdgeInsets)onboardView:(nonnull PVOnboardView *)onboardView imageEdgeInsetsForLeftActionButtonAtIndex:(NSInteger)index;
@optional
/**
 * Requests a bottom padding for the footer view. Default is 0.
 *
 * @param onboardView The onboardView.
 * @return The padding to use as the footer view bottom padding.
 */
- (CGFloat)onboardViewFooterBottomPadding:(nonnull PVOnboardView *)onboardView NS_SWIFT_NAME(onboardViewFooterBottomPadding(paddingForPageAtIndex:));

Thanks

Thanks @TanguyAladenise for TAPageControl.

Community

Questions, comments, issues, and pull requests are always welcome!

Contacts

License

Distributed under the MIT license. See LICENSE for more information.

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].