IOS UITableView contentOffSet больше не скрывает заголовок при возврате из выталкиваемого подробного представления

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

6
задан abbood 6 September 2013 в 14:02
поделиться