2012-01-20 2 views
2

У меня есть пользовательский заголовок UITableView, который я хочу прокручивать над верхней частью таблицы. Обычно заголовок будет придерживаться верхней части таблицы, не возможно ли каким-либо образом изменить способность прокрутки, чтобы он мог выйти за пределы этого и прокручивать ячейки в таблице?Прокрутить заголовок UITableView?

Спасибо.

+0

Я не уверен, что вы имеете в виду. Вы хотите, чтобы заголовок был статическим и всегда отображался, когда пользователь прокручивает таблицу? Или вы хотите, чтобы заголовок прокручивался вместе с таблицей и, таким образом, исчезал, когда пользователь прокручивается вниз? – MGA

+0

Я хочу, чтобы заголовок прокручивался вместе с таблицей, поэтому, если пользователь прокручивается вниз, он исчезает в верхней части экрана. –

ответ

4

Ну, если это желаемое поведение, которое вы хотите, просто поместите header в качестве содержимого первой ячейки. Можно настроить любую конкретную ячейку, которую вы хотите. UITableViewDelegate documentaion поможет вам в этом вопросе.
PS: вся цель использования заголовка tableView - заставить его прилипнуть к верхней части окна.

EDIT: Если необходимо, что вы должны сделать так, как вы хотите, то вы можете попробовать это: переместить ваши tableView немного вниз, установив его contentOffset. например: myTableView.contentOffset= CGPointMake(0,heightOfYourView). Теперь добавьте yourView наверху

+0

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

+0

Ну, я отредактировал свой ответ. Попробуй это сейчас. Кроме того, вы должны были упомянуть об этом в своем вопросе. – aqs

+2

ваш заголовок должен находиться в отдельном разделе просмотра таблицы из основных строк данных. это гарантирует, что первая строка данных ядра по-прежнему будет содержать индекс 0 –

0

Если у вас есть только один заголовок для всей таблицы, не можете ли вы просто установить свойство tableHeaderView?

+0

У меня есть один раздел с одним заголовком для всей таблицы. Я добавил свое представление в заголовок, но обычно заголовок вставляется в верхнюю часть таблицы, я хочу, чтобы он прокручивался с ячейками. Или я не понимаю? –

1

Внедрение tableView:viewForHeaderInSection: для раздела индекса 0, вы можете вместо этого заголовок как первый раздел, который должен исчезать при прокрутке. Таким образом, это не заголовок для всего UITableView.

0

Возможно, вы, как и я, искали свойство tableHeaderView. См. this SO question для получения дополнительной информации.

4
myTableView.tableViewHeader = myCustomTableHeaderView; 

Это установит myCustomTableHeaderView как заголовок вашего представления таблицы и прокручивать бы с точки зрения таблицы.

0

Вы должны использовать Сгруппированные Tableview Стиль и в методе ViewDidLoad, добавьте следующую строку кода:

myTableView.backgroundColor=[UIColor clearColor]; 
myTableView.opaque=NO; 
myTableView.backgroundView=nil; 

Также в бобах файл, вы должны очистить цвет фона сгруппированных таблицы;

-2
- (void)scrollViewDidScroll:(UIScrollView *)scrollView { 
    CGFloat sectionHeaderHeight = 40;//Change as per your table header hight 
    if (scrollView.contentOffset.y<=sectionHeaderHeight&&scrollView.contentOffset.y>=0) { 
     scrollView.contentInset = UIEdgeInsetsMake(-scrollView.contentOffset.y, 0, 0, 0); 
    } else if (scrollView.contentOffset.y>=sectionHeaderHeight) { 
     scrollView.contentInset = UIEdgeInsetsMake(-sectionHeaderHeight, 0, 0, 0); 
    } 
} 
+1

, пожалуйста, подумайте о том, чтобы добавить минимальную информацию в код юра –

Смежные вопросы