0

已解决:我想我想出了如何去做。

我为每个选项卡的每个视图控制器添加了标签。然后在视图控制器的 viewDidLoad 方法中,我可以根据选择的选项卡标签添加一个开关: self.tabBarController.tabBar.selectedItem.tag

问题:

我对 iOS 开发很陌生,需要一些反馈 - 这是场景:

我为此使用故事板。我们在标签栏控制器中有一个导航控制器。选项卡栏控制器在所有选项卡中包含相同类型的表格视图,但数据过滤方式不同。

例如,选项卡 1 将显示所有类型的红色水果,选项卡 2 将显示所有类型的黄色水果等等。

现在,由于我使用的是故事板,我是否需要为每个选项卡从选项卡栏控制器分支创建 2 个不同的主视图控制器?或者我可以对两个选项卡使用相同的主视图控制器吗?

我可以使用segue上的标识符来指定选择了哪个选项卡吗?我在从 tabbarcontroller 到导航控制器的 segue 上找不到它。

当一个选项卡被选中时,有没有像“prepareforsegue”这样的方法可以在destinationviewcontroller上预设过滤器?类似于我们在基于导航的应用程序中拥有的东西?这样我就不必为每个选项卡创建不同的视图控制器。

谢谢您的帮助!

4

2 回答 2

0

从这里

在您的 UITabBarControllerDelegate 委托中:

- (void)tabBarController:(UITabBarController *)tabBarController     didSelectViewController:(UIViewController *)viewController
{
  ...
}

我想在那里你可以在适当的 viewController 上设置一个属性。

ps 也尝试在 viewControllers 之间共享您的模型 :)

于 2012-09-03T09:30:25.723 回答
0

我为每个选项卡的每个视图控制器添加了标签。然后在视图控制器的 viewDidLoad 方法中,我可以根据选择的选项卡标签添加一个开关:self.tabBarController.tabBar.selectedItem.tag

于 2012-09-03T18:02:47.933 回答