Skip to content

Instantly share code, notes, and snippets.

View tylerlantern's full-sized avatar

Nattapong Unaregul tylerlantern

View GitHub Profile
class BHMenuTransitionManager: NSObject {
var transitionAnimator : BHMenuTransitionAnimator!
init(instance : BHMenuTransitionManagerDelegate,fromViewController vc: UIViewController ) {
super.init()
transitionAnimator = BHMenuTransitionAnimator(fromViewController: vc)
}
}
func animateTransition(using transitionContext: UIViewControllerContextTransitioning) {
let containerView = transitionContext.containerView
transitionContext.viewController(forKey: .from)
let fromVc = transitionContext.viewController(forKey: .from)!
let toVc = transitionContext.viewController(forKey: .to)!
let isPresenting = self.fromViewController == fromVc ? true : false
if isPresenting{
let targetWidth = fromVc.view.frame.width * 0.85
toVc.view.frame = CGRect(x: targetWidth * -1, y: 0, width: targetWidth, height: fromVc.view.frame.height)
containerView.addSubview(toVc.view)
class BHMenuTransitionAnimator: NSObject , UIViewControllerAnimatedTransitioning {
var fromViewController : UIViewController!
init(fromViewController vc : UIViewController ) {
super.init()
self.fromViewController = vc
}
func transitionDuration(using transitionContext: UIViewControllerContextTransitioning?) -> TimeInterval {