如何使用选项卡栏项添加导航栏以查看控制器

时间:2014-05-13 22:02:43

标签: ios uitabbarcontroller navigationbar

我有一个使用底部标签以及侧边菜单的应用程序,使用启动侧边菜单的按钮我使用典型的三行菜单按钮,把它放在那里我有一个导航栏。随着酒吧到位,我无法让酒吧在屏幕上方。我用界面构建器构建它,并且是一个截图。问题是如何在没有其他灰色条的情况下单独使用导航栏?

enter image description here

2 个答案:

答案 0 :(得分:3)

您遇到的问题是由于您手动为视图控制器创建导航栏,而不是使用通过将视图控制器嵌入标签栏控制器而免费获得的栏,因此你看到两个酒吧的原因。另一个建议隐藏自动生成的导航栏的答案不是正确的解决方案。相反,您应该在自动生成的栏中放置菜单按钮和查看标题,而不是手动创建自己的栏目(事实上,您几乎从不想这样做)。

那么你应该做的是将视图控制器的title属性设置为“新闻”,并将视图控制器的leftBarButtonItem属性设置为汉堡菜单按钮(实例为UIBarButtonItem已初始化为图标的图片。

例如(在视图控制器的viewDidLoad方法内或适当的地方):

self.title = @"News";
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"menuIcon"] style:UIBarButtonItemStylePlain target:self action:@selector(showSideMenu)];

答案 1 :(得分:1)

如果要删除最顶层的导航栏,则需要使用self.navigationController.navigationBarHidden = YES;用于UITabBarController中用于标签的视图控制器:

// StoriesViewController.m
- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    self.navigationController.navigationBarHidden = YES;
}