Решение Джейкоба работает хорошо. Одна из проблем заключается в том, что содержимое прокручивается на один пиксель. У меня есть заголовок с черной рамкой, и после прокрутки я вижу проблему, а затем возвращаюсь наверх. Изменяя p.y> 0 на p.y> = 0, мой заголовок при прокрутке до нуля восстанавливается правильно.
/* to fix floating headers */
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
CGPoint p = scrollView.contentOffset;
CGFloat height = (float) DASHBOARD_SUMMARY_PANEL_HEADER_HEIGHT;
if (p.y <= height && p.y >= 0) {
self.SummaryPanelTableView.contentInset = UIEdgeInsetsMake(-p.y, 0, 0, 0);
} else if (p.y >= height) {
self.SummaryPanelTableView.contentInset = UIEdgeInsetsMake(-height, 0, 0, 0);
}
}