LucidAnimationsSwift 1.0.4

LucidAnimationsSwift 1.0.4

Maintained by Chandan Karmakar.



  • By
  • Chandan Karmakar

Lucid Animations swift

Write clutter free animation code in swift

Build Status

Usage

Use lucid as sharedInstance or let lucid = LucidAnim()

 

Examples 1: Multi view animations

alt tag

override func viewDidLoad() {
    super.viewDidLoad()
    stackView.arrangedSubviews.forEach({ $0.transform = .init(translationX: 100, y: 0) })
    
    let lucid = LucidAnim()
    lucid.set(duration: 2.0).anim { self.stackView.arrangedSubviews[0].transform = .identity }
    lucid.set(delay: 3.0).set(duration: 0.7).set(bounce: true).serially(count: stackView.arrangedSubviews.count, interval: 0.2) { i in
        self.stackView.arrangedSubviews[i].transform = .identity
    }
    lucid.execute()
}

Example 2: Chaining Animation

alt tag

@IBAction func actionButton() {
    let lucid = LucidAnim()
    if box.isHidden {
        lucid.flat { self.box.isHidden = false }
        lucid.anim { self.view.layoutIfNeeded() }
        lucid.set(bounce: true).set(duration: 1.0).anim { self.box.alpha = 1; self.box.transform = .identity }
        lucid.execute()
    } else {
        lucid.set(duration: 2.1).anim { self.box.alpha = 0; self.box.transform = .init(translationX: 200, y: 0) }
        lucid.flat { self.box.isHidden = true }
        lucid.anim { self.view.layoutIfNeeded() }
        lucid.execute()
    }
}

Example 2: Keeping Lucid Object

alt tag

lazy var rotateAnim: LucidAnim = {
    let rotateAnim = LucidAnim()
    rotateAnim.set(duration: 0.5).anim { self.box2.transform = .init(rotationAngle: -CGFloat.pi / 4) }
    rotateAnim.set(duration: 0.5).anim { self.box2.transform = .init(rotationAngle: CGFloat.pi) }
    rotateAnim.set(duration: 0.5).anim { self.box2.layer.cornerRadius = self.box2.bounds.height / 2 }
    rotateAnim.set(duration: 0.5).anim { self.box2.layer.cornerRadius = 0 }
    return rotateAnim
}()

@IBAction func actionAnimation2() {
    rotateAnim.execute()
}

Install

Cocoapods

Add pod 'LucidAnimationsSwift' to you Podfile Then run pod install in terminal Then add import LucidAnimationsSwift in you swift file

Manual

drag LucidAnimationsSwift.swift file to you project