Latest 1.1.2
Homepage https://github.com/NickKibish/CascadePresenter
License MIT
Platforms ios 8.0
Authors

CI Status
Version
License
Platform

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.

Latest podspec

{
    "name": "CascadePresenter",
    "version": "1.1.2",
    "summary": "Cascade animation for presentation and dismission view controllers",
    "description": "This library provides instances of UIViewControllerAnimatedTransitioning for animating presentig and dismissing view controller.",
    "homepage": "https://github.com/NickKibish/CascadePresenter",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    },
    "authors": {
        "git": "[email protected]"
    },
    "source": {
        "git": "https://github.com/NickKibish/CascadePresenter.git",
        "tag": "1.1.2"
    },
    "platforms": {
        "ios": "8.0"
    },
    "source_files": [
        "CascadePresenter/Classes/**/*",
        "CascadePresenter/Protocols/**/*",
        "CascadePresenter/Enums/**/*",
        "CascadePresenter/Extensions/**/*",
        "CascadePresenter/Structs/**/*"
    ],
    "pushed_with_swift_version": "3.0"
}

Pin It on Pinterest

Share This