2012-03-07 59 views
1

我得到了一个带有几个标题的UITableView,并且在自定义的tableview背景上有清晰的背景。带有“静态”标题的UITableView

问题出现在滚动tableview和默认功能,其中标题停留在tableview的顶部以指示哪一部分是“活动的”。由于headerview具有清晰的背景,headerview下面的行中的文本通过标题可见,并且看起来非常糟糕。

是否有某种设置让tableview在滚动时使标题“跟随”行并禁用此默认行为?

我希望你们明白我的问题,如果问题不够好,我可以提供截图。

+0

你可以给它的屏幕截图? – 2012-03-07 14:48:38

回答

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); 
    } 
} 

然而,同时标头到达顶部它将有一个位闪烁的。

另一个灵魂是做分组表视图。

还有一件事是在顶部添加一个零行的部分,并简单地使用前一部分的页脚作为下一个的标题。

+0

Thnx,非常好的答案:)正是我在找... – Madoc 2012-03-07 15:31:11

1

我不认为你可以改变这种行为。

我认为你最好的选择是不使用内置的头文件,而是实现自定义的头文件作为UITableViewCell s,并将它们交叉插入到-tableView:cellForRowAtIndexPath:的内容中。

1

这是非常奇怪的,我碰巧发现这个意外。在你的故事板上更改点击你的tableview并将表格的风格从普通变为分组!当我这样做的标题上下滚动就像tableview单元格