Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/115.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 默认UIViewController当前动画的精确缓和和计时_Ios_Swift_Catransition - Fatal编程技术网

Ios 默认UIViewController当前动画的精确缓和和计时

Ios 默认UIViewController当前动画的精确缓和和计时,ios,swift,catransition,Ios,Swift,Catransition,我正在尝试制作一个自定义的CATTransition,这样推送一个viewController看起来与以模式显示一个完全相同 到目前为止,我已经准备好了 override func viewWillAppear(_ animated:Bool){ super.viewWillAppear(animated) self.transition = CATransition() self.transition.duration = 0.4 self.transition

我正在尝试制作一个自定义的CATTransition,这样推送一个viewController看起来与以模式显示一个完全相同

到目前为止,我已经准备好了

override func viewWillAppear(_ animated:Bool){
    super.viewWillAppear(animated)
    self.transition = CATransition()
    self.transition.duration = 0.4
    self.transition.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut)
    self.transition.type = kCATransitionMoveIn
    self.transition.subtype = kCATransitionFromTop
    self.transition.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut)
    self.navigationController?.view.layer.add(self.transition, forKey: nil)
}
对于解雇

override func viewWillDisappear(_ animated:Bool){
    super.viewWillDisappear(animated)
    self.transition.type = kCATransitionReveal
    self.transition.subtype = kCATransitionFromBottom
    self.navigationController?.view.layer.removeAllAnimations()
    self.transition.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut)
    self.navigationController?.view.layer.add(self.transition, forKey: nil)
}
这就是我从navigationController推送它的方式

self.navigationController?.pushViewController(myViewController(), animated: false)
我所拥有的与默认的UIViewController.present(vc,动画:true,完成:nil)动画没有太大的不同,但它有微妙的不同,特别是放松和消除动画

有人知道我可以使用什么精确值来最接近地复制我正在寻找的动画吗?

尝试以下方法:

self.transition.timingFunction=CAMediaTimingFunction(控制点:0.2,0.9,0.42,1)


不准确,但离我足够近。谢谢