2014-05-13 77 views
0

看来我做错了什么,但我不明白是什么。我有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]; 
} 

加载此观点的导航栏不会出现后。

+0

这不是你如何做到这一点。这是你的应用程序的根视图控制器吗?你在使用storybaords/xibs还是以编程方式进行编程? – CW0007007

+0

'[self.view addSubview:self.navigationController.view];'那应该做什么? – Jkmn

+0

@ CW0007007我正在以编程方式进行。它不是根视图控制器,但它在里面navigationController.viewcontrollers –

回答

2

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

如果它不包含在导航控制器内,则不会有任何条。

+0

你说得对,我把这个控制器作为根视图控制器,当我打开适当的视图,并解决了问题。谢谢 –