gpt4 book ai didi

ios - 为每个 View Controller 指定后退按钮的行为

转载 作者:行者123 更新时间:2023-11-28 09:54:45 25 4
gpt4 key购买 nike

我有几个 View Controller ,称它们为 1、2、3、4、5 和 6。我制作了一个 UINavigationController,它有一个后退按钮。后退按钮出现在每个 View Controller 上(我从不隐藏它)。

现在我遇到了这样的情况。我从 1、2、3、4、5 然后回到 3。作为附加信息,从 5 到 3 的转换是使用手动转场完成的(但有时我使用其他转场,如推送或模态)。如果我点击那个 View Controller 上的后退按钮,通常它会转到 5,因为堆叠是如何工作的。但我希望能够从 View Controller 3 中指定,当点击“后退”按钮时,你总是转到 vc 2...

我想在这里操纵导航堆栈可能是一种方式(基于当前的 View Controller ),但我不知道这是理想的,还是有更合适的东西......

最佳答案

您可以子类化并重写 UINavigationController 中的一些方法在按下后退按钮时获得回调。然后你可以强制导航 Controller 以你想要的方式响应。

例如,当 popViewController(animated:) 被调用时,您可以根据 View Controller (或您想要的方式)确定您是否应该真正允许正常的后退按钮功能。如果你想要正常的行为,只需调用 super。在从 View Controller 3 到 View Controller 2(而不是 View Controller 5)的情况下,您不会调用 super,而是执行 popToViewController(viewController2, animated: animated).

关于ios - 为每个 View Controller 指定后退按钮的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38954382/

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