CocoaPods trunk is moving to be read-only. Read more on the blog, there are 18 months to go.

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.