Wallpaper_Home/wallpaper_project/Pods/GYSide/Classes/GYSideTransitioningDelegate.swift
2024-04-17 14:37:20 +08:00

48 lines
1.7 KiB
Swift

//
// GYSideTransitioningDelegate.swift
// GYSide
//
// Created by gaoyuan on 2018/1/29.
// Copyright © 2018 gaoyuan. All rights reserved.
//
import UIKit
class GYSideTransitioningDelegate: NSObject,UIViewControllerTransitioningDelegate {
var presentationInteractiveTransition: GYSidePercentInteractiveTransition?
var dismissalInteractiveTransition: GYSidePercentInteractiveTransition!
var config: GYSideConfig!
init(_ config:GYSideConfig?) {
self.config = config
}
func animationController(forPresented presented: UIViewController, presenting: UIViewController, source: UIViewController) -> UIViewControllerAnimatedTransitioning? {
GYSideAnimatedTransitioning(showType: .show, config: config)
}
func animationController(forDismissed dismissed: UIViewController) -> UIViewControllerAnimatedTransitioning? {
GYSideAnimatedTransitioning(showType: .hidden, config: config)
}
// present
func interactionControllerForPresentation(using animator: UIViewControllerAnimatedTransitioning) -> UIViewControllerInteractiveTransitioning? {
if presentationInteractiveTransition == nil {
return nil
}else {
return (presentationInteractiveTransition?.isInteractive)! ? presentationInteractiveTransition : nil
}
}
// dismiss
func interactionControllerForDismissal(using animator: UIViewControllerAnimatedTransitioning) -> UIViewControllerInteractiveTransitioning? {
return dismissalInteractiveTransition.isInteractive ? dismissalInteractiveTransition : nil
}
deinit {
// print( NSStringFromClass(self.classForCoder) + " ---->3")
}
}