Conductor 1.0

Conductor 1.0

LangLanguage SwiftSwift
License MIT
ReleasedLast Release Oct 2017
SwiftSwift Version 3.2
SPMSupports SPM

Maintained by Paul Schifferer.

  • By
  • Paul Schifferer

A framework for providing an app "on-boarding" UI


Conductor provides a user interface for on-boarding users to a new app, or to an updated version
of an app.


Setup the data source

The first thing you need to do to get Conductor working is to setup a data source that will
feed the presentation.

let pages = [
    ConductorPageData(bodyText: "Page 1", image: page1Image),
    ConductorPageData(bodyText: "Page 2", image: page2Image),
    ConductorPageData(bodyText: "Page 3"),
let dataSource = ConductorDataSource(pageData: pages)

Create the view controller

Once the data source is setup, create the view controller and present it:

// TODO: make this view controller conform to ConductorDelegate

let vc = Conductor.viewControllerWithDataSource(dataSource, delegate: self)
// populate the appearance properties
Conductor.titleFont = appTitleFont
Conductor.textFont = appTextFont
// more...

self.present(vc, animated: true, completion: nil)

In the delegate, implement the following methods:

func conductorControllerFinished(_ controller : ConductorViewController) {
    // the user made it to the end, dismiss the controller
    controller.dismiss(animated: true, completion: nil)

func conductorController(_ controller : ConductorViewController, userWantsToSkipAtPage pageNumber : Int) {
    // the user decided they've seen enough, dismiss the controller
    // maybe save the page for later
    controller.dismiss(animated: true, completion: nil)


Copyright © 2016-7 Pilgrimage Software


See LICENSE for details.