Я использую код ниже в корневом контроллере представления, чтобы скрыть заголовок UITableView (заголовок имеет панель UISearch). Это работает, когда приложение запускается и отображает tableView. Однако впоследствии, когда строка выбрана, подробное представление перемещается, и пользователь открывает подробное представление, заголовок uitableview теперь виден в корневом представлении, которое не что я ожидал.
Вот соответствующие функции:
- (void) viewWillAppear:(BOOL)animated {
[self.navigationController setNavigationBarHidden:YES animated:animated];
[super viewWillAppear:animated];
self.tableView.contentOffset
= CGPointMake(0, self.tableView.tableHeaderView.frame.size.height);
//it's as if the line above is ignored on when returning from a pushed detail view
}
- (void) viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
// theContentOffSet works when I put it hear, but then the user can see it which is not desired
}
Строка '[self.navigationController setNavigationBarHidden: YES animated: animated];' безусловно, является частью проблемы, так как без него код работает и заголовок tableView прокручивается вне поля зрения. Однако для корневого представления требуется, чтобы панель навигации была скрыта, но отображалась в подробном представлении.