/Gecco

Simply highlight items for your tutorial walkthrough, written in Swift

Primary LanguageSwiftMIT LicenseMIT

Gecco

Note

⚠️⚠️ yukiasai/Gecco was transferred to bannzai/Gecco. This repository is forked. ⚠️⚠️

Overview

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.

Oval

Oval displays a perfect circle.

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

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

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.