导航栏不出现
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 中的视图控制器之一
如果它不包含在导航控制器中,您将没有栏。
【讨论】:
你是对的,当我打开适当的视图并解决了问题时,我将此控制器作为根视图控制器。谢谢以上是关于导航栏不出现的主要内容,如果未能解决你的问题,请参考以下文章