代码之家  ›  专栏  ›  技术社区  ›  Ryan Bavetta

UITabBarController和UINavigationController交互

  •  1
  • Ryan Bavetta  · 技术社区  · 15 年前

    我有一个带有两个选项卡的选项卡栏的应用程序。一个选项卡显示UINavigationController,另一个选项卡显示我自定义的UIViewController。

    现在的 选项卡上的UITabBar的UINavigationController弹出到它的根视图。

    我想在第二个选项卡的UIView上实现一个类似的操作,所以我想解决这个问题。谢谢!

    2 回复  |  直到 15 年前
        1
  •  3
  •   gcamp    15 年前

    什么 UITabBarController 所做的是,每当你点击一个已经选定的标签,它会检查 UIViewController 那个标签上有一个 UINavigationController . 如果是,则弹出到rootViewController。

    您要做的是将您的第二个选项卡设置为 UITABBARC控制器 并检查

    - (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
    

    当该方法被激发时,检查 viewController 是第二个选项卡viewController selectedIndex (第页,共页) )是1。如果是这样的话,实施你的行动。

    这只适用于iOS 3.0或更高版本。在版本3.0之前的iOS版本中,仅当选定的视图控制器实际更改时才调用此方法。

        2
  •  1
  •   Philipp Schlösser Lance    15 年前

    这其实是个很好的问题,直到今天我才注意到这种行为。 我对此有一个快速的猜测,经过一些测试,我似乎是正确的:因为您的TabBarController知道,它的tab包含UINavigationController,它只调用 popToRootViewControllerAnimated: PoptorootViewController激活: 这回答了你关于“如何”的问题。如果你能想办法在你的ViewController中重现这个,我会告诉你的。

    推荐文章