Home

Awesome

Gecco

Pod Version Pod Platform Pod License

Simply highlight items for your tutorial walkthrough, written in Swift

Gecco means Moonlight in Japanese.

Demo

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.

<details> <summary> Oval </summary>

Oval displays a perfect circle.

spotlightViewController.spotlightView.appear(Spotlight.Oval(center: view.center, diameter: 100))
<img width="320px" src="https://user-images.githubusercontent.com/10897361/93325274-0601a800-f852-11ea-813b-9583be0f4335.png" /> </details> <details> <summary> Rect </summary>

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)))
<img width="320px" src="https://user-images.githubusercontent.com/10897361/93325566-790b1e80-f852-11ea-85a6-5fed5204a56d.png" /> </details> <details> <summary> RoundedRect </summary>

RoundedRect is a rectangle with corner radius.

spotlightViewController.spotlightView.appear(Spotlight.RoundedRect(center: view.center, size: CGSize(width: 200, height: 100), cornerRadius: 8))
<img width="320px" src="https://user-images.githubusercontent.com/10897361/93325669-9b04a100-f852-11ea-9afa-b9fac06ba0b2.png" /> </details>

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.