目标C:显示导航和标签栏

时间:2011-04-23 08:42:02

标签: objective-c uinavigationbar uitabbar

我正在使用UIWebView,UITabBar和其他多个视图构建应用程序,每个视图都有一个Tab。 我想一次性显示导航栏,标签栏和视图。当我输入时:

    -(BOOL) (UIApplication *) application ApplicationDidFinishLaunchingWithOptions: (NSDIctionary *) launchOptions {
[_window addSubView: tabController.view];
[_window addSubView: navController.view];
[self._window makeKeyAndVisible];
return YES;
}

我得到了我想要的一切,但是我无法点击标签栏(我看到它,它很好)。我制作的按钮在导航栏中工作,但我无法单击标签栏选项卡。 当我交换它们时:

  -(BOOL) (UIApplication *) application didFinishLaunchingWithOptions: (NSDIctionary *) launchOptions {
    [_window addSubView: navController.view];
    [_window addSubView: tabController.view];
    [self._window makeKeyAndVisible];
    return YES;
    }

我得到了我的TabBar,带有可点击的标签,但没有导航栏。我甚至没有看到它。 所以,我的结构是:

-Window:
  -TabBarController:
    -> View1.xib
      -UIWebView
      -UINavigationBar
    -> View3.xib
      -UIWebView
      -UINavigationBar
    -> View3.xib
      -UIWebView
      -UINavigationBar

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

通常,您无法将nab和tab bar控制器都添加到窗口中。通常结构是:

  • 窗口
    • TabBarController
    • 标签1的控制器
      • 选项卡1的NavigationController
    • 标签2的控制器
      • tab 2的NavigationController
    • 标签3的控制器
      • tab 3的NavigationController
    • 标签控制器等
      • 标签等的NavigationController。

这允许为不同的选项卡提供不同的导航控制器。和应用程序的单一选项卡窗格。

可以反转结构并在其顶部安装导航控制器,并在较低的位置选项卡。但这不是这些组件的正常使用。

我想提一下,您只能将TabBar的视图添加到窗口,所有其他视图都由控制器处理。