UITableView的tableHeaderView缺少分隔线。

3
当tableView中没有tableHeaderView时,所有的分隔线都是可见的。但如果我创建一个自定义的tableHeaderView,那么第一个单元格就没有顶部的分隔线了。为什么我的自定义tableHeaderView会去掉第一个分隔线?如何把它放回去?(原问题链接)

你的第一个单元格现在将成为标题,对吧?如果要在标题视图中放置分隔符,您必须在创建标题的位置再次放置分隔符。 - Nuzhat Zari
如果你看表格的话,是的,它看起来像第一个单元格。但技术上讲,它是一个表头,位于第一个单元格之上。我在创建表头时该如何加入分隔符? - Borut Tomazin
您可以创建高度为2px,宽度与您的tableview相同的uiview,并在viewForHeaderInSection中提供您分隔符的背景颜色。 - Nuzhat Zari
2个回答

8
在您的自定义标题视图的底部创建一个高度为2、宽度为320的标签,并将标签背景颜色设置为分隔符颜色,不要给标签设置任何文本,这将起到分隔作用。

那是我的第一反应,但我希望有一种简单的方法来完成这个简单的任务。无论如何,我必须自己去做。谢谢! - Borut Tomazin
10
或者你可以使用UIWebView,加载一个空白页面并通过CSS设置背景颜色。如果需要使用 iframes,也可以加入。开玩笑的:如果不想使用文本,则也不要使用UILabel,这就是UIView的用途。 ;) - Regexident

7
以下是将标准分隔符视图添加到标题视图底部的代码:
CGRect sepFrame = CGRectMake(0, headerView.frame.size.height-1, 320, 1);
seperatorView = [[[UIView alloc] initWithFrame:sepFrame] autorelease];
seperatorView.backgroundColor = [UIColor colorWithWhite:224.0/255.0 alpha:1.0];
[headerView addSubview:seperatorView];

如果您想让它看起来像正常的表格视图单元格,那么您可能需要在页眉视图的顶部添加一个。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接