37 lines
1.4 KiB
Swift
37 lines
1.4 KiB
Swift
//
|
|
// UIViewController+StatusTableViewCellDelegate.swift
|
|
// Tusker
|
|
//
|
|
// Created by Shadowfacts on 8/27/18.
|
|
// Copyright © 2018 Shadowfacts. All rights reserved.
|
|
//
|
|
|
|
import UIKit
|
|
|
|
extension UIViewController: UIViewControllerTransitioningDelegate {
|
|
public func animationController(forPresented presented: UIViewController, presenting: UIViewController, source: UIViewController) -> UIViewControllerAnimatedTransitioning? {
|
|
if let presented = presented as? LargeImageAnimatableViewController,
|
|
presented.animationImage != nil {
|
|
return LargeImageExpandAnimationController()
|
|
}
|
|
return nil
|
|
}
|
|
|
|
public func animationController(forDismissed dismissed: UIViewController) -> UIViewControllerAnimatedTransitioning? {
|
|
if let dismissed = dismissed as? LargeImageAnimatableViewController,
|
|
dismissed.animationImage != nil {
|
|
return LargeImageShrinkAnimationController(interactionController: dismissed.dismissInteractionController)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
public func interactionControllerForDismissal(using animator: UIViewControllerAnimatedTransitioning) -> UIViewControllerInteractiveTransitioning? {
|
|
if let animator = animator as? LargeImageShrinkAnimationController,
|
|
let interactionController = animator.interactionController,
|
|
interactionController.inProgress {
|
|
return interactionController
|
|
}
|
|
return nil
|
|
}
|
|
}
|