2

我有一个带有 TabBar 和标签的 iPhone 应用程序。每个选项卡都加载了 UIViewControllers,我想要的特定选项卡是更改与选项卡关联的 UIViewController。当我调用 PresentViewController 时,它会更改 UIViewController 但也会隐藏我不想要的 TabBar。

谁能解释一下需要做什么?

谢谢

4

1 回答 1

3

UITabBarController 将其视图控制器的集合保存在一个恰当命名的属性中viewControllers。您可以在运行时修改它。有些副作用可能对您的应用程序很好,但请阅读文档以确保

一种方便的方法(以及如何修改该不可变数组的说明)如下所示:

- (void)replaceTabBarViewControllerAtIndex:(NSUInteger)index with:(UIViewController *)newVC {

    NSMutableArray *newVCs = [NSMutableArray arrayWithArray:self.tabBarController.viewControllers];

    if (index < newVCs.count) {
        newVCs[index] = newVC;
        self.tabBarController.viewControllers = [NSArray arrayWithArray:newVCs];
    }
}

用新的 vc 调用它而不是显示它。

于 2013-09-19T20:27:41.540 回答