как скрыть заголовок таблицы и сохранить его скрытым после вставки / удаления - PullRequest
0 голосов
/ 22 октября 2011

Я обнаружил, что UITableView изменяет свойство contentSize, и я не могу установить его самостоятельно.

Stack Trace

Это мой стек вызовов. После этого звонка contentSize модифицируется. Я не хочу этого, поэтому хочу скрыть заголовок, поэтому мне нужно немного прокрутить представление вниз, и чтобы сделать его, я установил contentSize немного выше, чем видимый, чтобы иметь возможность немного прокрутить вниз.

Есть идеи, как скрыть заголовок таблицы и сохранить его скрытым после вставки / удаления? Под скрытием я подразумеваю, что заголовок таблицы изначально «скрыт», но появляется при прокрутке вверх.

Я использую NSFetchedResultsController для извлечения данных с CoreData.

Ответы [ 2 ]

0 голосов
/ 20 февраля 2012

Похоже, что contentSize модифицируется частным кодом iOS сразу после вызова controllerDidChangeContent.

Только для записи.Это мое решение (searchView - это представление, которое я хочу скрыть):

-(void)scrollViewDidScroll:(UIScrollView *)scrollView 
{
    if (scrollView.contentSize.height <= scrollView.frame.size.height)
    {
        [scrollView setContentOffset:CGPointMake(0, self.searchView.frame.size.height)];        
        [scrollView setContentSize:CGSizeMake(scrollView.contentSize.width, tableView.frame.size.height + self.searchView.frame.size.height)];
    }
}
0 голосов
/ 23 октября 2011

Вы можете реализовать методы делегата tableview для размера заголовка и вернуть 0. Это будет выглядеть так:

-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
    return 0;
}

Это установит заголовок для каждого раздела равным нулю.Таким же образом вы также можете редактировать размер нижнего колонтитула с помощью heightForFooterInSection:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...