Skip to content

Awesome loading animations using 3D engine written with Swift

License

Notifications You must be signed in to change notification settings

roytornado/RSLoadingView

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
Roy Ng
Jul 6, 2018
05831c2 · Jul 6, 2018

History

25 Commits
Jul 6, 2018
Jul 6, 2018
May 17, 2017
May 17, 2017
May 17, 2017
Nov 21, 2017
Jul 6, 2018
May 17, 2017
May 18, 2017
May 18, 2017
May 19, 2017
May 18, 2017

Repository files navigation

RSLoadingView

Introduction

RSLoadingView bring your app to the new age of loading animations using 3D engine.

  • Written with Swift
  • Customizable
  • Using Apple's SceneKit with OpenGL
  • Include HUB feature: show full screen loading HUB with one line of code
  • Or use as standalone view
  • Configurable in interface builder

Requirements

  • Swift 4.0
  • iOS 9+

Demo

SpinAlone - base Variant

SpinAlone - base Variant

SpinAlone - inAndOut Variant; speedFactor = 2.0; lifeSpanFactor = 2.0; mainColor = UIColor.red

Twins - base Variant

Installation

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

pod "RSLoadingView"

Usage

import UIKit
import RSLoadingView

class ViewController: UIViewController {

  @IBAction func showLoadingHub() {
    let loadingView = RSLoadingView()
    loadingView.show(on: view)
  }

  @IBAction func showOnViewTwins() {
    let loadingView = RSLoadingView(effectType: RSLoadingView.Effect.twins)
    loadingView.show(on: view)
  }

  func hideLoadingHub() {
    RSLoadingView.hide(from: view)
  }

  @IBAction func showOnWindow() {
    let loadingView = RSLoadingView()
    loadingView.showOnKeyWindow()
  }

  func hideLoadingHubFromKeyWindow() {
    RSLoadingView.hideFromKeyWindow()
  }
  
}

Supported Effect

Effect Variants
RSLoadingSpinAlone base, inAndOut
RSLoadingTwins base
RSLoadingTriples (coming soon)

Customization

Loading View Related
Field Default Value
speedFactor 1.0
mainColor UIColor.white
colorVariation 0.0
sizeFactor 1.0
spreadingFactor 1.0
lifeSpanFactor 1.0
variantKey ""
HUB Related
Field Default Value
shouldDimBackground true
dimBackgroundColor UIColor.black.withAlphaComponent(0.6)
isBlocking true
shouldTapToDismiss false
sizeInContainer CGSize(width: 180, height: 180)

Author

Roy Ng, roytornado@gmail.com @ Redso, https://www.redso.com.hk/

Linkedin: https://www.linkedin.com/in/roy-ng-19427735/

License

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