【问题标题】:What exactly does the back button in Navigation controller do?导航控制器中的后退按钮到底是做什么的?
【发布时间】:2013-02-22 17:53:02
【问题描述】:

有没有办法告诉导航控制器的后退按钮具体是做什么的?我知道它的作用,但在方法调用/函数等方面。

原因是我隐藏了导航栏,而是显示了一个按钮,只是想完全复制它。

【问题讨论】:

  • 你为什么不自定义外观呢。减少工作量。

标签: ios uinavigationcontroller uinavigationbar


【解决方案1】:

如果您想复制导航栏中的后退按钮功能,您需要在该按钮的操作中调用以下内容:

[self.navigationController popViewControllerAnimated:YES]

【讨论】:

    【解决方案2】:

    在你的视图控制器中调用这个,当你的自定义后退按钮被点击时:

    [self.navigationController popViewControllerAnimated:YES];
    

    这将弹出当前视图控制器。

    【讨论】:

      【解决方案3】:

      这是返回按钮调用的 UINavigationController 方法:

      - (UIViewController *)popViewControllerAnimated:(BOOL)animated
      

      所以要复制它,只需在你弹出的 viewController 中执行类似的操作...

      [self.navigationController popViewControllerAnimated:YES];
      

      您可以通过继承 UINavigationController 并覆盖此方法来验证这正是返回按钮调用的方法 - 您将看到它在按下返回按钮时被调用(无需这样做这在您的应用程序中 - 它只是让您了解正在发生的事情的一种方式!)

      【讨论】:

        【解决方案4】:

        如果您指的是 leftBarButtonItem 而不是内置的 backButton,那么它可以做任何您想做的事情。它不会自动关闭当前的视图控制器。您需要将选择器连接到 barButtonItem 以使其执行任何操作。当该动作被触发时,你告诉它要做什么,无论是 pop、segue 还是几乎任何东西。

        【讨论】:

        • 这不是真的。后退按钮确实自动弹出当前视图控制器。这就是重点。
        猜你喜欢
        • 2011-11-29
        • 2012-01-01
        • 1970-01-01
        • 2017-01-06
        • 1970-01-01
        • 2019-07-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多