有没有办法从UITableView删除分隔线?


225

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

当我尝试在单元格中绘制自定义背景视图时,我希望这些单元格是无缝的,因此,中间保留的一根像素线会导致我遇到问题。有没有更优雅的解决方法,然后使用分组视图然后进行扩展?


更改separatorInset为此答案stackoverflow.com/a/8561820/1418457
onmyway133

Answers:


454

您可以使用UITableView属性来执行此操作separatorStyle。确保将属性设置为UITableViewCellSeparatorStyleNone并且已设置。

物镜

self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;

在Swift中(3之前)

tableView.separatorStyle = .None

在斯威夫特3/4/5

tableView.separatorStyle = .none

39
您也可以在IB中执行此操作(分隔符=>无)。
巴特·雅各布斯

1
这似乎只是删除表部分中的分隔线。有没有办法删除部分之间的分隔线?
devios1 2013年

4
部分之间的线并不是真正的线,而是部分的视图。您可以通过tableView:viewForHeaderInSection:UITableViewDelegate协议中实施来更改视图。
巴特·雅各布斯


62
- (void)viewDidLoad {
    [super viewDidLoad];
    [self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];
}

18

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

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

这对我有用。就我而言,分隔线实际上不是出现在单元格之间,而是实际上位于它们中间的某个位置。
Elliot'3

10

在界面构建器中设置表视图分隔符“无”

在此处输入图片说明 可以通过以下方法删除最后一个单元格之后显示的分隔线。最好的方法是在ViewDidLoad中将Empty View分配给tableView FooterView

self.tableView.tableFooterView = UIView()



5

iOS 9 beta 4有一个错误:UITableViewCell即使设置separatorStyle为,分隔线也会出现在s 之间UITableViewCellSeparatorStyleNone从情节提要,。要解决此问题,必须从代码进行设置,因为到目前为止,情节提要中存在一个错误。希望他们会在将来的beta中修复它。

这是设置它的代码:

[self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];

2

在ViewDidLoad方法中,您必须编写此行。

tableViews.separatorStyle = UITableViewCellSeparatorStyleNone;

这是工作代码。


1

在您的viewDidLoad

self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];
if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)])
{
    [self.tableView setSeparatorInset:UIEdgeInsetsZero];
}
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.