CascadePresenter 1.1.2

CascadePresenter 1.1.2

TestsTested
LangLanguage SwiftSwift
License MIT
ReleasedLast Release Feb 2017
SwiftSwift Version 3.0
SPMSupports SPM

Maintained by Nick Kibish.



  • By
  • git

CascadePresenter

Usage

To use animator, just add following code to UIViewControllerTransitioningDelegate instance.

extension ViewController: UIViewControllerTransitioningDelegate {
    func animationController(forPresented presented: UIViewController, presenting: UIViewController, source: UIViewController) -> UIViewControllerAnimatedTransitioning? {
        return Cascade.animator(for: .present)
    }

    func animationController(forDismissed dismissed: UIViewController) -> UIViewControllerAnimatedTransitioning? {
        return Cascade.animator(for: .dismiss)
    }
}

You can also change animation parameters

struct Params: CascadeAnimationParameters {
    var animationDuration: TimeInterval = 1.5
    var presentingVCAlpha: CGFloat = 0.97
    var presentingTopMargin: CGFloat = 25
    var presentedTopMargin: CGFloat  = 50
    var scale: CGFloat = 1
    var backgroundColor: UIColor = .green
    var cornerRadius: CGFloat = 15
    var presentedInitialFrame: CGRect? = CGRect(x: 0, y: UIScreen.main.bounds.height - 32, width: UIScreen.main.bounds.width, height: 32)
}

// ...

class ViewController: UIViewController {
    let params = Params()
}

// ...

extension ViewController: UIViewControllerTransitioningDelegate {
    func animationController(forPresented presented: UIViewController, presenting: UIViewController, source: UIViewController) -> UIViewControllerAnimatedTransitioning? {
        return Cascade.animator(for: .present, animationParams: params)
    }

    func animationController(forDismissed dismissed: UIViewController) -> UIViewControllerAnimatedTransitioning? {
        return Cascade.animator(for: .dismiss, animationParams: params)
    }
}

And don’t forget to set transitioningDelegate for presented view contreller. For example:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    segue.destination.transitioningDelegate = self
}

Example

To run the example project, clone the repo, and run pod install from the Example directory first.

Default parameters

Default_

Custom parameters

Custom_

Custom initial frame

Custom_frame_

Installation

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

pod "CascadePresenter"

Author

Nick Kibish, [email protected]

License

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