GBA-8-19/CGame/Extensions/UIViewControllerContextTransitioning+Conveniences.swift
bluesea 66c5202be8 s
2024-06-14 18:12:40 +08:00

53 lines
1.4 KiB
Swift

//
// UIViewControllerContextTransitioning+Conveniences.swift
// Hthik
//
// Created by Hthik on 7/28/16.
// Copyright © 2016 Hthik. All rights reserved.
//
import UIKit
extension UIViewControllerContextTransitioning
{
/// UIViewControllers
var sourceViewController: UIViewController {
return self.viewController(forKey: .from)!
}
var destinationViewController: UIViewController {
return self.viewController(forKey: .to)!
}
/// UIViews
var sourceView: UIView {
return self.view(forKey: .from) ?? self.sourceViewController.view
}
var destinationView: UIView {
return self.view(forKey: .to) ?? self.destinationViewController.view
}
/// Frames
var sourceViewInitialFrame: CGRect? {
let frame = self.initialFrame(for: self.sourceViewController)
return frame.isEmpty ? nil : frame
}
var sourceViewFinalFrame: CGRect? {
let frame = self.finalFrame(for: self.sourceViewController)
return frame.isEmpty ? nil : frame
}
var destinationViewInitialFrame: CGRect? {
let frame = self.initialFrame(for: self.destinationViewController)
return frame.isEmpty ? nil : frame
}
var destinationViewFinalFrame: CGRect? {
let frame = self.finalFrame(for: self.destinationViewController)
return frame.isEmpty ? nil : frame
}
}