Могу ли я сделать положение таблицы tableHeaderView фиксированным при прокрутке? - PullRequest
8 голосов
/ 15 сентября 2011

Я имею табличное представление и приложил к его tableHeaderView UISegmentedControl.Как я могу сделать tableHeaderView фиксированным, чтобы я всегда мог просматривать UISegmentedControl в той же позиции, даже когда я прокручиваю табличное представление?

Ответы [ 4 ]

7 голосов
/ 15 сентября 2011

tableView:ViewForHeaderInSection: - ваш выбор для достижения вашей цели.В простой таблице это будет выглядеть как приложение Адресной книги с первым символом имени в разделе, но у вас будет сегментированный элемент управления

1 голос
/ 15 августа 2015

Чтобы расширить ответ @ mskw:

Вы можете использовать UITableViewController (сохраните такие тонкости, как поддержка UIRefreshControl и обход клавиатуры).Вам просто нужно встроить панель инструментов в простой вид и поместить ее в tableHeaderView.Затем реализуйте метод делегирования представления прокрутки для блокировки.

#pragma mark - UIScrollViewDelegate

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    CGRect rect = self.toolbarContainerView.frame;
    rect.origin.y = MIN(0,scrollView.contentOffset.y + scrollView.contentInset.top);
    self.toolbarContainerView.frame = rect;
}

Обратите внимание, что если вы также используете заголовки разделов, вам придется отправлять эти представления за tableHeaderView, иначе они будут перемещаться по tableHeaderView.

1 голос
/ 08 января 2014

Сначала опустите рамку таблицы (освободите место сверху таблицы).Затем во время scrollViewDidscroll исправьте заголовок таблицы, так, чтобы он не прокручивался вместе с ним.

Вот и все.

1 голос
/ 15 сентября 2011

Я бы предложил разместить UISegmentedControl в отдельном представлении поверх UITableView, а не в tableHeaderView.Возможно, вы также захотите установить yourTable.bounces = NO;, чтобы предотвратить отскок вида заголовка при переходе к верхней части таблицы.

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