【发布时间】:2021-06-15 23:42:04
【问题描述】:
我还处于学习 swift 和制作应用程序的起步阶段。所以我已经道歉了,因为我的问题可能非常明显,但我无法通过几天的每一项研究来解决它。我制作了一个小应用程序,在导航控制器中嵌入了很少的视图。当我使用默认转场(以模态方式显示或呈现)时,它运行良好。但我想通过制作和使用自定义转场来改进它。我创建了这个类并在 NavigationVC 中嵌入的视图之间使用它。然后它不起作用。当我在视图中按下按钮时,什么也没有发生。问题似乎不是来自自定义 segue,因为它在未嵌入 NVC 的视图之间使用时效果很好。因此,在 NVC 中使用自定义 segue 可能是一个更根本的问题。那不可能吗?或者,可能会针对导航堆栈中的视图修改代码。这里是自定义转场:
类 CustomSegueRotation : UIStoryboardSegue {
override func perform() {
let initialViewController = self.source.view
let destinationViewController = self.destination.view
let rotation = CAKeyframeAnimation (keyPath: "transform.rotation.y")
rotation.values = [0, CGFloat.pi]
rotation.autoreverses = false
initialViewController?.addSubview(destinationViewController!)
UIView.animate(withDuration: 0.3, delay: 0.05, options: .curveEaseInOut, animations: {
initialViewController?.layer.add(rotation, forKey: nil)
}, completion: nil)
}}
非常感谢您的帮助。
【问题讨论】:
-
你需要谷歌“自定义过渡动画”。
标签: swift uinavigationcontroller segue