pushViewController 和 popViewController 动画在 iOS 14 中不再起作用

问题描述 投票:0回答:2

出于某种原因,此代码:

self.navigationController?.pushViewController(vc, animated: true)

行为方式与:

完全相同
self.navigationController?.pushViewController(vc, animated: false)

该行为是非动画推送。我不确定为什么动画参数不再起作用。在 iOS 13 中运行正常。这是一个错误吗?

经过进一步研究,我还注意到在

viewWillAppear
ViewWillDisappear
ViewDidAppear
中,
animated
属性是 false。重写函数:

super.viewWillAppear(true)

没有任何区别。

为了进一步了解上下文,我使用一个

UIViewControllerRepresentable
,它显示一个
UITabBarController
,其中包含一个
NavigationController
UINavigationController
中的视图以及所有推送的视图都是我遇到此问题的地方。

ios swift xcode uinavigationcontroller ios14
2个回答
1
投票

解决了我的问题!

事实证明,在我的

UITabBarController
中,我的
viewDidAppear
函数中有这行代码:

super.viewWillAppear(animated)

而不是

viewDidAppear
!结果,嵌套的
UINavigationController
的动画关闭了。不确定为什么这在 iOS 13 中有效,但它不应该有效!

要点:记住正确覆盖您的

viewWillAppear
viewDidAppear
函数!

将其保留在这里,以防其他人遇到此问题。


0
投票

使用viewWillAppear和viewDidAppear时,需要指定为super.WillApper(animation)。正确的错误修复。

© www.soinside.com 2019 - 2024. All rights reserved.