All Projects → MosheBerman → Surfboard

MosheBerman / Surfboard

Licence: mit
Surfboard is a delightful onboarding framework for iOS.

Projects that are alternatives of or similar to Surfboard

Git Cheats
Git Cheats - Interactive Cheatsheet For Git Commands
Stars: ✭ 124 (-71.43%)
Mutual labels:  tutorial, screenshot
Scheme
Write You a Scheme
Stars: ✭ 430 (-0.92%)
Mutual labels:  tutorial
1click Webpage Screenshot
Entire page Screenshot extension for Google Chrome. I'm developing open source extension for Google Chrome. All extension are free for use. Let's make Chrome great again!
Stars: ✭ 406 (-6.45%)
Mutual labels:  screenshot
Eth Crypto
Cryptographic javascript-functions for ethereum and tutorials to use them with web3js and solidity
Stars: ✭ 420 (-3.23%)
Mutual labels:  tutorial
Pycon 2019 Tutorial
Data Science Best Practices with pandas
Stars: ✭ 410 (-5.53%)
Mutual labels:  tutorial
Vue Tutorial
🎃 Some of the vue-tutorial - 《Vue学习笔记》
Stars: ✭ 426 (-1.84%)
Mutual labels:  tutorial
Nlp Tutorials
Simple implementations of NLP models. Tutorials are written in Chinese on my website https://mofanpy.com
Stars: ✭ 394 (-9.22%)
Mutual labels:  tutorial
Learn Elm
🌈 discover the beautiful programming language that makes front-end web apps a joy to build and maintain!
Stars: ✭ 432 (-0.46%)
Mutual labels:  tutorial
Cgold
🐋 The Hitchhiker’s Guide to the CMake
Stars: ✭ 428 (-1.38%)
Mutual labels:  tutorial
Youtube React
A Youtube clone built in React, Redux, Redux-saga
Stars: ✭ 421 (-3%)
Mutual labels:  tutorial
Hands On Nltk Tutorial
The hands-on NLTK tutorial for NLP in Python
Stars: ✭ 419 (-3.46%)
Mutual labels:  tutorial
Tutorial
Java全栈知识架构体系总结
Stars: ✭ 407 (-6.22%)
Mutual labels:  tutorial
Dellxps15 9550 Osx
Tutorial for a full working Mac OS (10.11 up to 11.0) enviroment on the Dell XPS 15 (9550)
Stars: ✭ 428 (-1.38%)
Mutual labels:  tutorial
Telegram Tutorial
Уроки по написанию своих Telegram-ботов
Stars: ✭ 409 (-5.76%)
Mutual labels:  tutorial
Emacs4developers
A document to help developers to use Emacs as a developer
Stars: ✭ 430 (-0.92%)
Mutual labels:  tutorial
Helpers
Handy helper classes, tutorials, etc. for developers
Stars: ✭ 400 (-7.83%)
Mutual labels:  tutorial
Tensorflow Tutorial
Tensorflow tutorial from basic to hard, 莫烦Python 中文AI教学
Stars: ✭ 4,122 (+849.77%)
Mutual labels:  tutorial
Codeparkshare
Python初学者(零基础学习Python、Python入门)书籍、视频、资料、社区推荐
Stars: ✭ 4,193 (+866.13%)
Mutual labels:  tutorial
Awesome Tutorials
I am going to write a series of tutorials about web/android/ios development
Stars: ✭ 435 (+0.23%)
Mutual labels:  tutorial
Lockstep Tutorial
帧同步 教程
Stars: ✭ 431 (-0.69%)
Mutual labels:  tutorial

Surfboard

Surfboard is a delightful onboarding library for iOS.

Screenshots

Intro Panels

Dependencies

Surfboard was developed with Xcode 5 and the iOS 7 SDK. It uses autolayout and UICollectionViewController, so although it hasn't been tested on iOS 6, you may entertain yourself by trying to run Surfboard on it.

Installing Surfboard

Add the contents of the SRFSurfboard project to your directory, or use CocoaPods:

pod 'Surfboard'

Import SRFSurfboard.h to get access to all of the great features of Surfboard.

Getting Started

When we talk about Surfboards, we talk about a set of panels. Each panel is a screenful of information, including some text, an image or screenshot, and optionally, a button.

Take a look at the Sample Data directory for an idea of what a sample JSON configuration looks like.

Showing a Surfboard

You can show a surfboard by using a segue, or by creating a an instance of SRFSurfboardViewController and passing it an array of some panels. You can also pass a path to a JSON file, which we'll discuss in just a second.

The two initializers for a surfboard:

//	One surfboard, the initWithPanels: way.

SRFSurfboardViewController *surfboard = [[SRFSurfboardViewController alloc] initWithPanels:anArrayOfPanels];

//	Another surfboard, the initWithPathToCofiguration way.

SRFSurfboardViewController *surfboard = [[SRFSurfboardViewController alloc] initWithPathToConfiguration:aPathToJSONFile];

Creating Panels

Panels can be created programatically, or using a JSON file. The JSON format is simple. There are four keys:

  1. text The text that appears at the top of the panel.
  2. image An image to show in the panel. The image is tinted to the tintColor of the surfboard.
  3. screen A screenshot to show in the panel. The screenshot is not tinted.
  4. button The title of a button to show at the bottom of the panel. This is optional.

Note that either the contents of the "image" or "screen" will be used, but not both. Supplying both results in undefined behavior.

Here's a sample panel:

{
	"text" : "Welcome to Surfboard.",
	"image" : "swipe"
}

You'd want to add an image to your bundle or asset catelog named "swipe.png" and Surfboard would display it.

License

SRFSurfboard is released under the MIT license. See LICENSE for more.

More Open Source

If you like SRFSurfboard, you may like some of my other projects on GitHub.

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