Skip to content

Matzo/Kamishibai

Repository files navigation

Kamishibai

CI Status Version License Platform Swift

Kamishibai makes easy to create long tutorial.

Features

sample

  • Manage progress of tutorial
  • Support presenting transitioning of UIViewController
  • Support push/pop transitioning of NavigationController
  • Focus with animation where you want
  • Support custom guide view

Example

To run the example project, clone the repo, and run pod install from the Example directory first.

// create Kamishibai instance
let kamishibai = Kamishibai(initialViewController: self)

// append first scene and focus CGRect(x: 0, y: 100, width: 50, height: 50)
kamishibai.append(KamishibaiScene(scene: { (scene) in
    guard let vc = scene.kamishibai?.currentViewController as? UIViewController else { return }
    let frame = CGRect(x: 0, y: 100, width: 50, height: 50)
    scene.kamishibai?.focus.on(view: vc.navigationController?.view, focus: Focus.Rect(frame: frame))
    scene.fulfillWhenTapFocus()
}))

// append second scene and add customized view
kamishibai.append(KamishibaiScene(transition: .push(SecondViewController.create()), scene: { (scene) in
    let guide = SampleGuideView.create()
    scene.kamishibai?.focus.addCustomView(view: guide, position: .bottomRight(CGPoint.zero))
    scene.fulfillWhenTap(view: guide.button)
}))

// 
kamishibai.startStory()

Requirements

  • iOS 9.0
  • Swift 4.0

Installation

Cocoapods

Kamishibai is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod "Kamishibai"

Carthage

To integrate into your Xcode project using Carthage, specify it in your Cartfile:

github "Matzo/Kamishibai"

Author

[email protected]

License

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

About

Kamishibai makes easy to create long tutorial.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •