【问题标题】:Resets the stacks view when the root controller is a tab bar controller当根控制器是标签栏控制器时重置堆栈视图
【发布时间】:2010-03-16 19:06:30
【问题描述】:

我有一个标签栏控制器,并且在两个标签栏项目中我都有一个导航控制器。我希望每当用户离开并返回标签栏项目时,它都会重置导航控制器。

如果我一直在其中一个选项卡栏中导航,然后我按下另一个选项卡项并返回,它会将我带到导航的开头。

有什么想法吗?

谢谢,

【问题讨论】:

    标签: iphone uinavigationcontroller uitabbarcontroller reset


    【解决方案1】:

    将自己设置为 tabBarController 的代表,每当您收到 -tabBarController:shouldSelectViewController: 消息时,请在您的选项卡的导航控制器上调用 -popToRootViewController。

    【讨论】:

    • 好的,除了如何将自己设置为代表之外,我几乎掌握了所有内容。该项目有 appDelegate。你如何设置委托,我应该在哪里做?我试图在导航控制器的 viewDidUnload 中做到这一点
    • 您需要真正了解委托才能在 Objective C 中取得很大进展。查看 UITabBarController 的文档,但基本上:controller.delegate = self。
    • 我会发布我的答案,什么对我有用...我尝试阅读苹果的代表文档,但除了一般含义之外,我并没有理解太多。也就是说,它委托它是您可以从任何地方调用的代码的一部分,它执行一个操作,将某些内容返回给调用者。
    【解决方案2】:

    这对我有用...

    我也将 appDelegate 设为 UITableBarViewControllerDelegate。

    @interface InterfacesAppDelegate : NSObject <UIApplicationDelegate, UITabBarControllerDelegate> {
    

    之后,在 IB 中,我将 tabbarcontrollerDelegate 连接到 appDelegate。在这种情况下,Interfaces App Delegate

    正如 Ben 所说,然后我在 InterfacesAppDelegate.m 下实现了 abBarController:shouldSelectViewController

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多