Ios 使用自定义动画关闭视图控制器?

Ios 使用自定义动画关闭视图控制器?,ios,swift,animation,Ios,Swift,Animation,我正在使用这行代码关闭我的视图控制器self.disclose(动画:true,完成:nil),但我不喜欢当前的动画。相反,我想从左向右滑动。下面是我尝试测试一个动画,但不起作用 UIView.animate(withDuration: 1.0, delay: 0.0, options: UIViewAnimationOptions.curveEaseIn, animations: { let transition = CATransition() transi

我正在使用这行代码关闭我的视图控制器
self.disclose(动画:true,完成:nil)
,但我不喜欢当前的动画。相反,我想从左向右滑动。下面是我尝试测试一个动画,但不起作用

UIView.animate(withDuration: 1.0, delay: 0.0, options: UIViewAnimationOptions.curveEaseIn, animations: {

        let transition = CATransition()
        transition.duration = 10
        transition.type = kCATransitionPush
        transition.subtype = kCATransitionFromLeft

        self.view.layer.add(transition, forKey: kCATransition)

        self.dismiss(animated: false, completion: nil)
        }, completion: nil)

我相信这里发生的是,在动画开始的同时,视图控制器被解除。您可以尝试将self.disclose(…)移动到动画完成块,看看是否有效。如果没有,你可以在网上找到很多关于如何定制segues的教程。我从来没有这样做过,所以我自己也不能给你任何建议,但雷·温德里希总是一个深入学习教程的好地方。
let transition: CATransition = CATransition()
transition.duration = 0.5
transition.timingFunction = CAMediaTimingFunction(name: CAMediaTimingFunctionName.easeInEaseOut)
transition.type = CATransitionType.reveal
transition.subtype = CATransitionSubtype.fromRight
self.view.window!.layer.add(transition, forKey: nil)
self.dismiss(animated: false, completion: nil)