2016-05-28 3 views
0

У меня есть HomeViewController и имеет свойство searchViewController.UINavigationController.navigationBar setHidden: NO не работает?

HomeViewController является делегатом searchViewControllerDelegate, так что я могу выскочить searchViewController когда я нажимаю кнопку в searchViewController.view (я использую pushViewControllerAnimated: нажать searchViewController в стек контроллера представления.

Я хочу, чтобы показать navigationBar когда searchViewController выталкивается вверх.

Однако

[self.navigationController.navigationBar setHidden:NO]; 

, безусловно, не работает.

Я проверил, что навигационная панель не nil, поэтому я не могу понять, в чем проблема.

фактический код

#pragma mark - HomeTabSearchTableViewDelegate 
-(void)parentViewControllerPop{ 
    [self.navigationController popViewControllerAnimated:YES]; 
    [self.navigationController.navigationBar setHidden:NO]; 
} 

searchViewController выталкивается вверх успешно, как раз проблема Панель навигации.

ответ

0

на вашем HomeViewController

-(void)viewWillAppear:(BOOL)animated{ 
    [super viewWillAppear:animated]; 
    [self.navigationController setNavigationBarHidden:NO]; //shows 

    //or use like 
    // [[self navigationController] setNavigationBarHidden:NO animated:YES]; 
} 

-(void)viewWillDisappear:(BOOL)animated{ 
    [super viewWillDisappear:animated]; 
    [self.navigationController setNavigationBarHidden:YES]; // hides 

     //or use like 
    // [[self navigationController] setNavigationBarHidden:YES animated:YES]; 
} 
+0

На самом деле я попробовал то, что вы делаете в 'viewWillAppear:' но не в 'viewWillDisappear:'. Почему я должен скрывать 'searchBar' в' viewWillDisappear: '? Благодаря! –

Смежные вопросы