我有一个带有一组标签的UitabbarController。其中一些选择时,请向您展示一张桌子。如果触摸了表的单元格,则使用“ PushViewController”将用户带到单元本身中对象的详细屏幕上。

当我单击另一个选项卡时,我在详细信息页中时,我会看到新的选项卡页面。这很好。当我单击上一个选项卡时,我想再次显示表,而不是详细信息页面...

这可能吗?

谢谢!

有帮助吗?

解决方案

有可能的。代码:

// Called when the user selected a tab. In iOS3+, called even when no change occurs.
- (void)tabBarController:(UITabBarController *)tabbarcontroller didSelectViewController:(UIViewController *)viewController
{
    UINavigationController *nav = (UINavigationController *)viewController;
    [nav popToRootViewControllerAnimated: NO];
}

说明:

  • 这在您的AppDelegate中。
  • 您的AppDelegate是UitabbarControllerDelegate。
  • 您将UitabbarController的委托(在InterfaceBuilder中)设置为AppDelegate。
  • 您的选项卡必须包含导航控制器的根控制器(必须是,否则您将无法“推动”详细信息)。

其他提示

看到 UITabBarControllerDelegate 设置在切换选项卡时将通知哪个控制器的协议,然后只使用它弹出详细信息控制器。

顺便说一句,您也可以在接口构建器中进行大多数此导航控制器设置,例如:

alt text

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top