gpt4 book ai didi

ios - 默认 UIViewController 呈现动画的精确缓动和计时

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:31:19 24 4
gpt4 key购买 nike

我正在尝试制作一个自定义 CATransition,以便推送一个 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, animated: true, completion: nil) 动画并没有太大的不同,但它有细微的不同,尤其是缓动和关闭动画。

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

最佳答案

试试这个:

self.transition.timingFunction = CAMediaTimingFunction(controlPoints: 0.2, 0.9, 0.42, 1)

https://developer.apple.com/documentation/quartzcore/camediatimingfunction/1522235-init

关于ios - 默认 UIViewController 呈现动画的精确缓动和计时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44123052/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com