Gecco

Simply highlight items for your tutorial walkthrough, written in Swift

MIT License

Stars
1.9K

Gecco

Simply highlight items for your tutorial walkthrough, written in Swift

Gecco means Moonlight in Japanese.

Usage

Basic

Basically instantiate a SpotlightViewController and present via UIViewController.present(_:animated:completion) and call SpotlightViewController.spotlight.appear(_:)` with SpotlightType.

import Gecco

class ViewController: UIViewController {
  func showSpotlight() {
    let spotlightViewController = SpotlightViewController()
    present(spotlightViewController, animated: true, completion: nil)
    spotlightViewController.spotlightView.appear(Spotlight.Oval(center: view.center, diameter: 100))
  }
}

Supported SpotlightType

Gecco provide some SpotlightType as default implemantation.

Oval displays a perfect circle.

spotlightViewController.spotlightView.appear(Spotlight.Oval(center: view.center, diameter: 100))

Rect is a rectangle drawn by specifying the width and height.

spotlightViewController.spotlightView.appear(Spotlight.Rect(center: view.center, size: CGSize(width: 200, height: 100)))

RoundedRect is a rectangle with corner radius.

spotlightViewController.spotlightView.appear(Spotlight.RoundedRect(center: view.center, size: CGSize(width: 200, height: 100), cornerRadius: 8))

Advanced

Gecco publish some delegate methods for hook each events about SpotlightViewController and SpotlightView. If you want to write adavanced feature, you can write to define SpotlightViewControllerDelegate or SpotlightViewDelegate. See SpotlightViewControllerDelegate and SpotlightViewDelegate.

For example

// Hook events for SpotlightViewControllerDelegate
spotlightViewController.delegate = self

// Hook events for SpotlightViewDelegate
spotlightViewController.spotlightView.delegate = self

Example

Please refer to GeccoExample.

Installation

CocoaPods

pod 'Gecco'

Carthage

github "yukiasai/Gecco"

License

Gecco is released under the MIT license. See LICENSE for details.