func animateTransition(using transitionContext: UIViewControllerContextTransitioning) {
let containerView = transitionContext.containerView
guard let fromVC = transitionContext.viewController(forKey: UITransitionContextViewControllerKey.from),
let toVC = transitionContext.viewController(forKey: UITransitionContextViewControllerKey.to) else {
return
}
let snapshotImage = createImage(layer: fromVC.view.layer)
let brokenGlassView = BrokenGlassEffectView.init(frame: fromVC.view.bounds)
fromVC.view.removeFromSuperview()
containerView.addSubview(toVC.view)
containerView.addSubview(brokenGlassView)
brokenGlassView.setImageForBroke(image: snapshotImage)
brokenGlassView.beginBroke()
DispatchQueue.main.asyncAfter(deadline: .now() + 1.2) { [weak brokenGlassView] in
brokenGlassView?.removeFromSuperview()
brokenGlassView?.destroy()