Я использую приведенный ниже код в контроллере корневого представления, чтобы скрыть заголовок UITableView (в заголовке есть UISearchbar). Он работает, когда приложение запускается и отображает 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 прокручивается вне поля зрения. Однако для корневого представления требуется, чтобы панель навигации была скрыта, но отображалась в подробном представлении.