导航栏不出现

Posted

技术标签:

【中文标题】导航栏不出现【英文标题】:Navigation bar does not appear 【发布时间】:2014-05-13 15:09:51 【问题描述】:

似乎我做错了什么,但我不明白是什么。我有UIViewController,这是 viewDidLoad 方法:

- (void)viewDidLoad

    [super viewDidLoad];

    self.navigationController.navigationBarHidden=NO;

    // tableview initialisation

    // search bar initialisation

   menu = [[SINavigationMenuView alloc] initWithFrame:CGRectMake(-10, 0, 200, self.navigationController.view.frame.size.height) title:NSLocalizedString(@"ALBUMS", nil)];
   [menu displayMenuInView:self.view];
   menu.tableFrame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);


   menu.items = @[NSLocalizedString(@"ALL", nil), NSLocalizedString(@"DOWNLOADS", nil), ...];

   menu.delegate = self.controller;
   self.navigationItem.titleView = menu;

   //sidebar button
   UIImage *sidebarButtonImage = [UIImage imageNamed:@"menu"];
   UIButton * sidebarButton = [UIButton buttonWithType:UIButtonTypeCustom];
   sidebarButton.bounds = CGRectMake(0, 0, sidebarButtonImage.size.width, sidebarButtonImage.size.height);
   [sidebarButton setImage:sidebarButtonImage forState:UIControlStateNormal];
   [sidebarButton addTarget:self action:@selector(onMenuPressed:) forControlEvents:UIControlEventTouchUpInside];
   UIBarButtonItem * leftButton = [[UIBarButtonItem alloc] initWithCustomView:sidebarButton];
   [self.navigationItem setLeftBarButtonItem:leftButton];

加载此视图后。

【问题讨论】:

这不是你这样做的方式。这是您应用程序的根视图控制器吗?你是在使用 storybaords/xibs 还是以编程方式? [self.view addSubview:self.navigationController.view]; 那应该怎么做? @CW0007007 我正在以编程方式进行操作。它不是根视图控制器,但它在 navigationController.viewcontrollers 内部 在这种情况下,它应该从它的父视图继承。您如何呈现这种观点? @Jkmn 什么都没有,经过实验和尝试理解就离开了 【参考方案1】:

您的视图控制器必须位于导航控制器内。确保您的视图控制器是根视图或 self.navigationController.viewcontrollers 中的视图控制器之一

如果它不包含在导航控制器中,您将没有栏。

【讨论】:

你是对的,当我打开适当的视图并解决了问题时,我将此控制器作为根视图控制器。谢谢

以上是关于导航栏不出现的主要内容,如果未能解决你的问题,请参考以下文章

导航栏不出现

导航栏不可见

UISearchController 搜索栏不隐藏导航栏

ios 7状态栏不继承导航栏颜色

导航栏不透明

导航栏不显示