0

У меня проблема, когда панель навигации внезапно появляется после вызова popViewController, когда SearchDisplayCotroller все еще активен.Невозможно скрыть панель навигации, которая внезапно появляется после popViewController в SearchDisplayCotroller

enter image description here

Я реализую простую TableView с поиском возможностей. Выше моей раскадровки.

На первом взгляде я реализовал, как показано ниже. Таким образом, панель навигации всегда будет скрыта для первого вида.

- (void) viewWillAppear:(BOOL)animated{ 
[self.navigationController setNavigationBarHidden:YES animated:NO]; 
} 

Нажатие кнопки нажимает следующий контроллер вида таблицы с приведенным ниже кодом, чтобы навигационная панель была видна.

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

Все работает нормально, пока я не осуществил приведенный ниже код.

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
    [self.navigationController popViewControllerAnimated:YES]; 
} 

Когда popViewControllerAnimated: ДА в то время как SearchDisplayController все еще активен, странная белая панель навигации появляется и мой viewWillAppear не в состоянии скрыть строку. Это ошибка или есть ли способ предотвратить появление этого бара?

Приведенный ниже документ также может дать вам представление о том, что произошло. Благодаря!

Look at the white navigation bar that appeared

ответ

1

Попробуйте

-(void) viewWillDisappear:(BOOL)animated { 
    [super viewWillDisappear:animated]; 
    // To check if searchDisplayController still active 
    if ([searchDisplayController isActive]) { 
    [searchDisplayController setActive:NO]; 
    } 
}