protocol Pop { func moveBackToParentViewController(currentViewController: UIViewController) } extension Pop { func moveBackToParentViewController(currentViewController: UIViewController) { let transition = CATransition() transition.duration = 0.5 transition.type = kCATransitionMoveIn transition.subtype = kCATransitionFromLeft currentViewController.view.window!.layer.add(transition, forKey: kCATransition) currentViewController.dismiss(animated: true, completion: nil) } }