是否可以从 UINavigationController 推送 UITabbarController?

发布于 2024-09-05 05:20:35 字数 118 浏览 4 评论 0原文

我有一个正在加载 UINavigationController 的 UITabBarController。

当我推送新的视图控制器时,是否可以将 UITabBarController 更改为一组新的选项卡?

I have a UITabBarController that is loading a UINavigationController.

When I push a new view controller, is it possible to change the UITabBarController to a new set of tabs?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

三岁铭 2024-09-12 05:20:35

当然,为什么不将新的 UIViewController 的数组重新分配给 UITabBarController 的 viewControllers 属性呢?这样就可以了。

- (void)addNewControllers {
    NSMutableArray *controllers = [NSMutableArray array];
    UIViewController *c0 = [[[UIViewController alloc] init] autorelease];
    [controllers addObject: c0];

    UIViewController *c1 = [[[UIViewController alloc] init] autorelease];
    [controllers addObject: c1];

    UIViewController *c2 = [[[UIViewController alloc] init] autorelease];
    [controllers addObject: c2];

    [myTabBarController setViewControllers:controllers];
}

详细了解潜在副作用 此处

Sure, why not just re-assign your new UIViewController's array to UITabBarController's viewControllers property? That will do the trick.

- (void)addNewControllers {
    NSMutableArray *controllers = [NSMutableArray array];
    UIViewController *c0 = [[[UIViewController alloc] init] autorelease];
    [controllers addObject: c0];

    UIViewController *c1 = [[[UIViewController alloc] init] autorelease];
    [controllers addObject: c1];

    UIViewController *c2 = [[[UIViewController alloc] init] autorelease];
    [controllers addObject: c2];

    [myTabBarController setViewControllers:controllers];
}

Read more about the potential side effects here.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文