带有“静态”标题的UITableView

时间:2012-03-07 14:07:25

标签: iphone uitableview

我有一个带有多个标题的UITableView,并且在自定义的tableview背景下具有清晰的背景。

当滚动tableview和默认功能时问题出现,其中标题位于tableview的顶部以指示哪个部分是“活动的”。因为标题视图具有清晰的背景,所以标题视图下方的行中的文本通过标题可见,并且看起来非常糟糕。

是否存在某种类型的tableview设置,以便在滚动时使标题“跟随”行并禁用此默认行为?

我希望你们能理解我的问题,如果问题解决得不好,我可以提供截图。

3 个答案:

答案 0 :(得分:1)

我认为你不能改变这种行为。

我认为您最好的选择是不使用内置标头,而是将自定义标头实现为UITableViewCell,并将它们交错存入-tableView:cellForRowAtIndexPath:内容。

答案 1 :(得分:1)

以下是一个解决方案:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
       CGFloat sectionHeaderHeight = 40;
   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);
   }
}

然而,当标题到达顶部时,它会有一点闪烁。

另一个灵魂就是制作Grouped表视图。

还有一件事是在顶部添加一个零行的部分,只需使用上一部分的页脚作为下一部分的标题。

答案 2 :(得分:1)

这完全是奇怪的,我碰巧偶然发现了这一点。在您的故事板更改上单击您的tableview并将表格的样式从普通更改为分组!当我这样做时,标题就像tableview单元格一样向上和向下滚动