1234567891011121314151617181920212223242526272829303132333435 |
- //
- // Created by Tom Baranes on 25/07/16.
- // Copyright © 2016 Jake Lin. All rights reserved.
- //
- import UIKit
- public protocol ViewControllerAnimatedTransitioning: UIViewControllerAnimatedTransitioning {
- /**
- Transition duration
- */
- var transitionDuration: Duration { get set }
- }
- public extension ViewControllerAnimatedTransitioning {
- func retrieveViews(transitionContext: UIViewControllerContextTransitioning) -> (UIView?, UIView?, UIView?) {
- return (transitionContext.view(forKey: UITransitionContextViewKey.from),
- transitionContext.view(forKey: UITransitionContextViewKey.to),
- transitionContext.containerView)
- }
- func retrieveViewControllers(transitionContext: UIViewControllerContextTransitioning) -> (UIViewController?, UIViewController?, UIView?) {
- return (transitionContext.viewController(forKey: UITransitionContextViewControllerKey.from),
- transitionContext.viewController(forKey: UITransitionContextViewControllerKey.to),
- transitionContext.containerView)
- }
- func retrieveTransitionDuration(transitionContext: UIViewControllerContextTransitioning?) -> TimeInterval {
- if let transitionContext = transitionContext {
- return transitionContext.isAnimated ? transitionDuration : 0
- }
- return 0
- }
- }
|