All Projects → ealeksandrov → Eaintroview

ealeksandrov / Eaintroview

Licence: mit
Highly customizable drop-in solution for introduction views.

Programming Languages

objective c
16641 projects - #2 most used programming language
ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to Eaintroview

Reactour
Tourist Guide into your React Components
Stars: ✭ 2,782 (-25.99%)
Mutual labels:  intro, walkthrough
React Native Copilot
Step-by-step walkthrough for your react native app
Stars: ✭ 1,783 (-52.57%)
Mutual labels:  intro, walkthrough
Pvonboardkit
Add your own walkthrough/intro/tutorial into the app
Stars: ✭ 51 (-98.64%)
Mutual labels:  intro, walkthrough
Intro
An iOS framework to easily create simple animated walkthrough, written in Swift.
Stars: ✭ 33 (-99.12%)
Mutual labels:  walkthrough, intro
Hackathon Toolkit
GCP Hackathon Toolkit
Stars: ✭ 358 (-90.48%)
Mutual labels:  demo
Androidtoapplevectorlogo
An Android app demoing pathmorphing with AnimatedVectorDrawables
Stars: ✭ 344 (-90.85%)
Mutual labels:  demo
Autoops
linux资产管理,cmdb,django, webssh,运维管理平台,数据库操作平台 本项目已停止开发!因长时间未对代码进行维护,可能会造成项目在不同环境上无法部署、运行BUG等问题,请知晓!项目仅供参考!
Stars: ✭ 340 (-90.96%)
Mutual labels:  demo
Uplift
A playground for elevation on Android
Stars: ✭ 332 (-91.17%)
Mutual labels:  demo
Cocos Awesome
基于cocos creator游戏引擎的游戏常用功能模块集锦,以及shader特效实现集锦
Stars: ✭ 381 (-89.86%)
Mutual labels:  demo
Explicit Architecture Php
This repository is a demo of Explicit Architecture, using the Symfony Demo Application.
Stars: ✭ 372 (-90.1%)
Mutual labels:  demo
Unsplashexplorer Coreml
Core ML demo app with Unsplash API
Stars: ✭ 358 (-90.48%)
Mutual labels:  demo
Wireframe World
An infinite wireframe world in WebGL
Stars: ✭ 347 (-90.77%)
Mutual labels:  demo
Jquery.scrollto
Lightweight, cross-browser and highly customizable animated scrolling with jQuery
Stars: ✭ 3,609 (-3.99%)
Mutual labels:  demo
Koa Vue Notes Api
🤓 This is a simple SPA built using Koa as the backend, Vue as the first frontend, and React as the second frontend. Features MySQL integration, user authentication, CRUD note actions, and async/await.
Stars: ✭ 342 (-90.9%)
Mutual labels:  demo
T Rec Rs
Blazingly fast terminal recorder that generates animated gif images for the web written in rust
Stars: ✭ 361 (-90.4%)
Mutual labels:  demo
Onboardkit
Customisable user onboarding for your iOS app
Stars: ✭ 334 (-91.11%)
Mutual labels:  walkthrough
Ssm booksystem
ssm demo,ssm详细教程,SSM简明教程:简单的十步教你搭建人生第一个SSM框架[ SSM框架整合教程(spring+spring mvc+mybatis+redis+maven+idea+bootstrap) ]
Stars: ✭ 355 (-90.56%)
Mutual labels:  demo
Miox
Modern infrastructure of complex SPA
Stars: ✭ 374 (-90.05%)
Mutual labels:  demo
React Stripe Menu
A clone of Stripe's animated menu using React, Styled Components and React-Flip-Toolkit
Stars: ✭ 352 (-90.64%)
Mutual labels:  demo
Examplesforcesium
My personal examples for Cesium, hopefully may it help you to build this beautiful world~
Stars: ✭ 350 (-90.69%)
Mutual labels:  demo

EAIntroView - simple iOS Introductions

CI Status Version Carthage compatible License Platform

ExampleImage1 ExampleImage2

This is highly customizable drop-in solution for introduction views. Some features (remember, most features are optional and can be turned off):

  • beautiful demo project to look on some examples
    • customizability is unlimited, one can make complex introView with animations and interactive pages, so do not limit yourself with existing examples
  • for each basic page:
    • background (with cross-dissolve transition between pages)
    • custom iOS7 motion effects (parallax) on background
    • title view (+ Y position)
    • title text (+ font, color and Y position)
    • description text (+ font, color, width and Y position)
    • subviews array (added to page after building default layout)
  • possibility to set your own custom view for page:
    • pageWithCustomView:
    • pageWithCustomViewFromNibNamed:
  • possibility to set block action on page events:
    • pageDidLoad
    • pageDidAppear
    • pageDidDisappear
  • many options to customize parent view:
    • swipe from last page to close
    • switching pages with one simple tap
    • custom background image or color
    • custom page control
    • custom skip button
    • pinned titleView (+ Y position, can be hidden on some pages)
  • delegate protocol to listen:
    • introDidFinish:
    • intro:pageAppeared:withIndex:
  • actions on IntroView:
    • setPages:
    • showInView:animateDuration:
    • hideWithFadeOutDuration:
    • setCurrentPageIndex:animated:
  • storyboard/IB support
  • and many more...

Installation

You can setup EAIntroView using Carthage, CocoaPods or completely manually.

Carthage

  1. Add EAIntroView to your project's Cartfile:

    github "ealeksandrov/EAIntroView"
  2. Run carthage update in your project directory.

  3. On your application targets’ “General” settings tab, in the “Linked Frameworks and Libraries” section, drag and drop EAIntroView.framework and EARestrictedScrollView.framework from the Carthage/Build/iOS/ folder on disk.

  4. On your application targets’ “Build Phases” settings tab, click the “+” icon and choose “New Run Script Phase”. Create a Run Script with the following contents:

    /usr/local/bin/carthage copy-frameworks

    add the paths to the frameworks under “Input Files”:

    $(SRCROOT)/Carthage/Build/iOS/EAIntroView.framework
    $(SRCROOT)/Carthage/Build/iOS/EARestrictedScrollView.framework

    and the paths to the copied frameworks to the “Output Files”:

    $(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/EAIntroView.framework
    $(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/EARestrictedScrollView.framework

CocoaPods

  1. Add EAIntroView to your project's Podfile:

    pod 'EAIntroView'
  2. Run pod update or pod install in your project directory.

Setting Up Manually

  1. Add EARestrictedScrollView header and implementation to your project (2 files total).

  2. Add EAIntroPage and EAIntroView headers and implementations to your project (4 files total).

  3. You can now use EAIntroView by adding the following import:

    import EAIntroView
    #import <EAIntroView/EAIntroView.h>

How To Use It

Sample project have many examples of customization. Here are only simple ones.

Step 1 - Build Pages

Each page created with [EAIntroPage page] class method. Then you can customize any property, all of them are optional. Another approach is to pass your own (can be nib), custom view in EAIntroPage, this way most other options are ignored.

// basic
EAIntroPage *page1 = [EAIntroPage page];
page1.title = @"Hello world";
page1.desc = sampleDescription1;
// custom
EAIntroPage *page2 = [EAIntroPage page];
page2.title = @"This is page 2";
page2.titleFont = [UIFont fontWithName:@"Georgia-BoldItalic" size:20];
page2.titlePositionY = 220;
page2.desc = sampleDescription2;
page2.descFont = [UIFont fontWithName:@"Georgia-Italic" size:18];
page2.descPositionY = 200;
page2.titleIconView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"title2"]];
page2.titleIconPositionY = 100;
// custom view from nib
EAIntroPage *page3 = [EAIntroPage pageWithCustomViewFromNibNamed:@"IntroPage"];
page3.bgImage = [UIImage imageNamed:@"bg2"];

Step 2 - Create Introduction View

Once all pages have been created, you are ready to create the introduction view. Just pass them in right order in the introduction view. You can also pass array of pages after IntroView's initialization, it will rebuild its contents.

EAIntroView *intro = [[EAIntroView alloc] initWithFrame:self.view.bounds andPages:@[page1,page2,page3,page4]];

Don't forget to set the delegate if you want to use any callbacks.

[intro setDelegate:self];

Step 3 - Show Introduction View

[intro showInView:self.view animateDuration:0.0];

Storyboard/IB

Since 1.3.0 EAIntroView supports init from IB. Since 2.0.0 EAIntroPage supports it too.

  1. Drop UIView to your IB document.
  2. Set its class to EAIntroView.
  3. Create IBOutlet property in your view controller: @property(nonatomic,weak) IBOutlet EAIntroView *introView;.
  4. Connect IBOutlet with EAIntroView in IB.
  5. Build array of pages (you can use pageWithCustomViewFromNibNamed: here with separate nibs for each page).
  6. Pass pages array to EAIntroView property in setPages:.

Author

Created and maintained by Evgeny Aleksandrov (@ealeksandrov).

License

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

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