如何在标签栏和另一个视图中添加相同的视图。可能吗

时间:2012-08-10 05:19:28

标签: iphone objective-c ios xcode

我正在尝试在标签栏控制器中添加两个视图。像这样......

- (void)viewDidLoad
{
    [super viewDidLoad];

    UIViewController *con_view_ctrlr = [[ofi_vc_blocked_list alloc] initWithNibName:@"ofi_vc_blocked_list" bundle:nil];   // This is adding fine.
    UINavigationController *con_view_navig = [[UINavigationController alloc] initWithRootViewController:con_view_ctrlr];

    UIViewController *ab = [[ofi_vc_address_book alloc] initWithNibName:@"ofi_vc_address_book" bundle:nil];
    UINavigationController *ab_navig = [[UINavigationController alloc] initWithRootViewController:ab];

    ab_tab_bar = [[UITabBarController alloc] init];
    ab_tab_bar.viewControllers = [NSArray arrayWithObjects:ab_navig, con_view_navig, nil];
}

我还没有提供标签栏。因为我不希望标签栏最初显示。

我想要ofi_vc_address_book视图* (作为标签栏的一部分添加) * ,最初显示为另一个视图的一部分。我只需要特殊情况下的标签栏。当我的情况到来时,我想要使用标签栏以及我之前添加的其他视图来显示模态视频控件ab_navig(ofi_vc_address_book)。但我无法通过不一致层次结构实现此崩溃。如何在标签栏和其他视图的子项中使用相同的视图?可能吗?

3 个答案:

答案 0 :(得分:0)

您无法将同一视图关联到多个视图控制器。执行此操作的方法是复制IB中的视图并将其连接到第二个视图控制器,或者在代码中创建另一个视图实例并将其设置在视图控制器上。

答案 1 :(得分:0)

presentModalViewController ab_tab_bar而不是ab_navig,如果您想要显示带有导航视图的标签栏视图。

答案 2 :(得分:0)

标签栏控制器必须是根视图控制器。没有办法以另一种方式使用标签栏视图控制器。 我只看到一种方式 - 在视图控制器中你不需要标签栏,你可以隐藏它。 但更好的方法是检查您的应用程序架构。我相信你可以找到另一种更好的方法来实现你想要的东西。