我正在寻找一种在普通模式下完全删除UITableView中的分隔线的方法。这是分组自动完成的,但这也会以一种难以测量的方式改变表的尺寸。我已经将分隔线颜色设置为colorClear。但这并不能完全解决问题。

当我试图在单元格中绘制一个自定义背景视图时,我希望单元格是无缝的,但中间保留的一个像素线给我带来了问题。是否有比使用分组视图然后拉伸视图更优雅的解决方案?


当前回答

在ViewDidLoad方法中,你必须写这一行。

tableViews.separatorStyle = UITableViewCellSeparatorStyleNone;

这是工作代码。

其他回答

在尝试其他答案后,我仍然有一条深灰色的线。我必须添加以下两行,以使单元格之间的行行“不可见”。

self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
self.tableView.separatorColor = [UIColor clearColor];

你也可以在storyboard / xib编辑器中这样做。只需将separator设置为none。

iOS 9 beta 4有一个错误:分隔线出现在UITableViewCells之间,即使你从故事板中设置了separatorStyle为UITableViewCellSeparatorStyleNone。为了解决这个问题,你必须从代码中设置它,因为到目前为止故事板中有一个错误。希望他们能在未来的测试中解决这个问题。

下面是设置它的代码:

[self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];

在接口生成器中设置表视图分隔符“None”

这些分隔线显示在最后一个单元格之后,可以通过以下方法去除。 最好的方法是在viewDidLoad中将空视图分配给tableView FooterView

self.tableView.tableFooterView = UIView()

在你的viewDidLoad中:

self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];
if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)])
{
    [self.tableView setSeparatorInset:UIEdgeInsetsZero];
}