部分标题和分组UITableView中的第一个单元格之间的透明像素行

And*_*scu 9 iphone transparent uitableview uikit

正如标题所说,我遇到了一排无法摆脱的透明像素问题.
我附上一张图片,因为它值1000个字.

http://oi54.tinypic.com/288ahy.jpg

部分页脚(我也使用自定义视图)的问题不存在.我已经检查并仔细检查了我返回的部分高度的正确尺寸.

有任何想法吗?

编辑:
我已经添加了一个测试项目,所以你可以玩.紫色代表背景颜色.白色矩形是页眉/页脚,浅灰色是一些虚拟单元格.该问题在项目中清晰可见.

TransparentRowBug XCode项目

你还会看到我使用了很多清晰的颜色.不幸的是,改变颜色以隐藏问题对我来说不是一个可行的解决方案.

随意尝试(或更多)!

非常感谢!

编辑2:
经过进一步调查,我得出结论,像素线来自tableview分隔符.在测试项目中,我将separatorColor设置为clearColor.如果我将其更改为另一种颜色,我将获得新颜色中的那一行像素.即使我将分隔符样式设置为none,它似乎对分组表没有影响.

And*_*scu 11

在经过近2天的测试(和脱发)后,我终于想出了这个.

正如我在上面的评论中所说,只是在heightForHeader方法中返回一个较小的高度是行不通的.要使其工作,您需要获取所需的标题视图,将其插入具有完全相同大小的虚拟/容器视图中,然后将此容器作为标题提供给tableView.

然后,当你为标题返回一个较小的大小时,它神奇地(对我来说它真的很神奇)设法重叠那个恼人的像素行.

顺便说一句,我得出结论,像素行是由于细胞分离线.

如果有人感兴趣,我可以再次上传工作测试项目.

  • 我有完全相同的问题(这绝对是一个iOS错误),只是在虚拟UIView内部返回我的标题视图解决了问题,而不必为标题返回较小的大小.在`viewForHeaderInSection`的末尾我有:`UIView*view = [[UIView alloc] initWithFrame:[headerView frame]]; [查看addSubview:headerView]; 返回视图;` (2认同)