gpt4 book ai didi

ios - 区分导致 View Controller 被推送的用户操作

转载 作者:行者123 更新时间:2023-12-01 18:15:14 26 4
gpt4 key购买 nike

我正在继承 UINavigationController并且想要添加将先前弹出的 View Controller 添加回堆栈的功能,类似于 Web 浏览器中的前进按钮。

当用户按下按钮时,我想将最近弹出的 View Controller 添加回堆栈。为此,我将 View Controller 放在自定义堆栈的顶部,然后调用 pushViewController:animated:用它。

在点击表格 View 单元格或其他东西以进入 View 层次结构的新方式的情况下,我想清除我的“弹出 View Controller ”堆栈。类似于如果用户在 Web 浏览器中单击新链接,“转发”历史将被清除。

这就是我的问题所在。我不知道如何区分我何时调用 pushViewController:animated:为了恢复 View Controller ,以及当用户点击一个单元格来推送一个单元格时。在后一种情况下,我想清除我的堆栈,但在前一种情况下我不想。

我不知道在这里做什么。在一个完美的世界里pushViewController:animated:会有userOptions:参数或上面的东西可以让我区分它是如何使用的,但不幸的是,该参数不存在。

这样的问题一定会经常出现。在这种情况下我将如何处理它?我将如何区分调用该方法的情况?

最佳答案

如果我正确地跟随你,一种常见的方法是:

  • 你的“goForward”方法应该调用你的父类(super class)'pushViewController:animated:
  • 覆盖 pushViewController:animated:调用你的父类(super class)'pushViewController:animated:和你的“clearStack”方法。
  • 关于ios - 区分导致 View Controller 被推送的用户操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22595465/

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