gpt4 book ai didi

ios - 如何为 rootViewController 调用 UINavigationControllerDelegate 委托(delegate)方法

转载 作者:行者123 更新时间:2023-11-28 15:27:42 25 4
gpt4 key购买 nike

我正在使用下面的委托(delegate)方法在我的应用程序中显示动画。

func navigationController(_ navigationController: UINavigationController,
animationControllerFor operation: UINavigationControllerOperation, from fromVC: UIViewController,
to toVC: UIViewController) -> UIViewControllerAnimatedTransitioning?

但是,上面的方法没有调用 navigationController 的 rootViewController。

提前感谢您的帮助。

最佳答案

调用您所指的方法来设置过渡动画。然而,rootViewController 被添加到 navigationController 而没有任何动画,因为没有以前的 View Controller 可以转换。因此,不会调用委托(delegate)方法。

即使您不使用指定 rootViewController 的便捷初始化程序而是手动推送 rootViewController,为 animated: 参数指定 true,也是如此。您会注意到,即使在这种情况下,navigationController 也会在没有动画的情况下推送 rootViewController(从具有 animatednavigationController(:,willShow:,animated:) 调用可以证明)参数设置为 false

据我所知,无法对 rootViewController 进行转换动画处理。

另一种解决方案可能是实现 navigationController(:, willShow:, animated:),检查是否 self.viewControllers.first == viewController 和然后手动为 viewController.view 设置动画。

关于ios - 如何为 rootViewController 调用 UINavigationControllerDelegate 委托(delegate)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45014261/

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