App Intro with Image Fade Animation for iOS

App Intro with Image Fade Animation for iOS

Released 5 years ago , Last update 4 years ago

An iOS app introduction component with fade in / fade out animation for background images

A customizable drop-in solution for iOS application introduction screens. Useful for explaining the application to new users or force initial actions (such as registration).

Screen pagination includes a cross transition based on scrollview content offset for clean and beautiful page transitions.

Each page in the introduction have a customizable background image, header text and description text that is optionally truncated if over 3 lines long.

Additional customization include company/service logo on top of the pages.

Integrated with action buttons - a Dismiss button or a Signup/login button to link with your application interface naturally.


14 day 14-day money-back guarantee


MIT license

The MIT license is an open-source license.


Import the following files into your project from the src folder :

alt text


  • AOTutorialViewController.h
  • AOTutorialViewController.m
  • AOTutorialViewController.xib


 * Custom init method to create a new AOTutorialController object
 * @param NSArray collection of background images (ie. @[@"bg_1.jpg", @"bg_2.jpg", @"bg_3.jpg"])
 * @param NSArray collection of labels (ie. @[@{@"Header": @"Header 1", @"Label": @"label 1"}, @{@"Header": @"Header 2", @"Label": @"label 2"}, @{@"Header": @"Header 3", @"Label": @"label 3"}])
 * @return AOTutorialController
- (instancetype)initWithBackgroundImages:(NSArray *)images andInformations:(NSArray *)informations;

 * Define a header image
 * @param UIImage image used for header
- (void)setHeaderImage:(UIImage *)logo;

 * Callback for Signup button being touched up
- (IBAction)signup:(id)sender;

 * Callback for Login button being touched up
- (IBAction)login:(id)sender;

 * Callback for Dismiss button being touched up
- (IBAction)dismiss:(id)sender;


// First create a new view controller class that inherit from AOTutorialViewController class. Do not forget to import the AOTutorialViewController interface

#import "AOTutorialViewController.h"

@interface AOTutorialController : AOTutorialViewController


// Then in the .m file add the buttons action methods

- (IBAction)signup:(id)sender
    NSLog(@"signup button touch up completed");

- (IBAction)login:(id)sender
    NSLog(@"login button touch up completed");

- (IBAction)dismiss:(id)sender
    NSLog(@"dismiss button touch up completed");

// Finally load your Tutorial view controller
AOTutorialController *vc = [[AOTutorialController alloc] initWithBackgroundImages:@[@"bg_1.jpg", @"bg_2.jpg", @"bg_3.jpg", @"bg_4.jpg", @"bg_5.jpg"]
                                                                      andInformations:@[@{@"Header": @"Header 1", @"Label": @"label 1"}, @{@"Header": @"Header 2", @"Label": @"label 2"}, @{@"Header": @"Header 3", @"Label": @"label 3"}, @{@"Header": @"Header 4", @"Label": @"label 4"}, @{@"Header": @"Header 5", @"Label": @"label 5"}]];

// Define which button you want. By default only dismiss button is shown
[vc setButtons:AOTutorialButtonSignup | AOTutorialButtonLogin];

// Or if you only want the dismiss button to be shown
[vc setButtons:AOTutorialButtonNone];

// Define a company header image. By default no image is shown
[vc setHeaderImage:[UIImage imageNamed:@"myCompanyLogo.png"]];

// Finally present the view controller
[self.window setRootViewController:vc];
1 license From » FREE View Licenses

Get A Quote

What do you need?
  • Custom development
  • Integration
  • Customization / Reskinning
  • Consultation
When do you need it?
  • Soon
  • Next week
  • Next month
  • Anytime

Thanks for getting in touch!

Your quote details have been received and we'll get back to you soon.

Or enter your name and Email
  • M Mahendra 4 years ago
    May I know if this still works with iOS7 & Xcode 5 Thanks I will not mind to pay if you make it work. Thanks
    • Loic GRIFFIE Publisher 4 years ago
      Hi. I confirm the component works with iOS 7 and Xcode 5.x. Have you faced any issues ?