ios UITableView - > UITableViewCellSeparatorStyleNone留下一行像素高度为空的行

时间:2012-05-15 16:46:48

标签: ios uitableview separator

我想省略两个tableview单元格之间的分隔线。但是没有没有分隔符,我得到一个高度为1像素的分隔线,它只是留空或更好地表示完全透明。

如何告诉uitableview如何将下一个细胞直接连接到上面的细胞(没有任何间隙)?

3 个答案:

答案 0 :(得分:4)

好的,找到我的答案并分享它只是为了帮助别人。

我在程序上设置了所有单元格,所以我通过

关闭了分隔符

m_tableView setSeparatorColor:[UIColor colorWithRed:0.0f green:0.0f blue:0.0f alpha:0.0f]]

接下来我通过

设置分隔符样式
m_tableView.separatorStyle = UITableViewCellSeparatorStyleNone;

虽然我不得不承认似乎没有做任何事情,这可能是一个更加激烈的。

对我来说,我发现调用了cellForRowAtIndexPath来配置单元格,我不得不将背景图像的高度扩展1个像素以摆脱线条(我也使用了一个可伸缩的图像,也可能是自己的对奇异的+1要求)。我不是仲裁+ 1的粉丝,但这似乎可以解决问题......

frameBackground.size.height += 1;

所以虽然不支持+1,但上述步骤对我的列表视图起作用,现在不再有分隔符了。

答案 1 :(得分:0)

我发现我的标题设置为1,删除了我修复的问题(奇数单元格分隔符中有1个像素)我改为0,生活似乎更好

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
    return 0;
}

答案 2 :(得分:0)

我无法摆脱分隔符,所以我最终决定在UIScrollView上编写自己的tableview。那个“分隔符”还在那里!事实证明,如果设置背景颜色,UILabel中有一个错误,有时会导致它沿顶部边缘绘制一条细线。修复方法是在图层上设置背景:label.layer.backgroundColor = color.CGColor;