/SwiftSpring-Package

SwiftSpring-Package

Primary LanguageSwiftMIT LicenseMIT

Spring - Animation

Swift Platform Version Xcode 10.0+ iOS 8.0+

Table of Contents

Features

  • Chained grammar.
  • No inheritance required.
  • Lightweight expansion.
  • Based on UIViewAnimation.
  • No code intrusion.

Install

CocoaPods - Podfile

pod 'SwiftSpring'

Swift Package Manager

You can use The Swift Package Manager to install SwiftSpring by adding the proper description to your Package.swift file:

import PackageDescription

let package = Package(
    name: "YOUR_PROJECT_NAME",
    targets: [],
    dependencies: [
        .package(url: "https://github.com/fanglinwei/SwiftSpring-Package.git", from: "0.0.8")
    ]
)

Usage

First make sure to import the framework:

import SwiftSpring

Here are some usage examples. All devices are also available as simulators:

API

Chaining

 animationView.spring
  .opacity(0.1)
  .scale(0.8, 0.8)
  .duration(2)
  .curve(.easeOutQuad)
  .animate()

Functions

animate() { ... }

Animations

shake
pop
morph
squeeze
wobble
swing
flipX
flipY
fall
squeezeLeft
squeezeRight
squeezeDown
squeezeUp
slideLeft
slideRight
slideDown
slideUp
fadeIn
fadeOut
fadeInLeft
fadeInRight
fadeInDown
fadeInUp
zoomIn
zoomOut
flash

Curve

spring
linear
easeIn
easeOut
easeInOut
discrete
easeInSine, easeOutSine, easeInOutSine
easeInQuad, easeOutQuad, easeInOutQuad
easeInCubic, easeOutCubic, easeInOutCubic
easeInQuart, easeOutQuart, easeInOutQuart
easeInQuint, easeOutQuint, easeInOutQuint
easeInExpo, easeOutExpo, easeInOutExpo
easeInCirc, easeOutCirc, easeInOutCirc
easeInBack, easeOutBack, easeInOutBack
        

Properties

force
duration
delay
damping
velocity
repeatCount
scale
x
y
rotate
alpha

* Not all properties work together.

Reference

Spring

Contributing

If you have the need for a specific feature that you want implemented or if you experienced a bug, please open an issue. If you extended the functionality of Spring yourself and want others to use it too, please submit a pull request.

License

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