2009-05-29 113 views
201

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

由于我试图在单元格中绘制自定义背景视图,并且我希望单元格是无缝的,所以保留在中间的一个像素线会导致出现问题。是否有一个更优雅的解决方法,然后使用分组视图,然后将其拉伸?

+0

在此答案中更改`separatorInset` http://stackoverflow.com/a/8561820/1418457 – onmyway133 2017-03-08 14:24:20

回答

422

你可以用UITableView属性separatorStyle来做到这一点。确保该属性设置为UITableViewCellSeparatorStyleNone,然后设置好。

目标C

self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone; 

在夫特(前3)

tableView.separatorStyle = .None 

在夫特3

tableView.separatorStyle = .none 
+32

顺便说一下(分隔符=>无),您也可以在IB中执行此操作。 – 2009-05-29 09:56:21

+1

这似乎只能删除表格部分中的分隔线。有没有办法删除*部分之间的分隔线? – devios1 2013-07-26 23:00:55

+4

部分之间的界限并不是一条线,而是部分的视图。你可以通过从`UITableViewDelegate`协议实现`tableView:viewForHeaderInSection:`来改变视图。 – 2013-07-27 07:48:17

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

我仍然有一个深灰色线尝试后其他答案。我不得不添加以下两行来使单元之间的行线变得“不可见”。

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

您也可以在故事板/ xib编辑器中执行此操作。只需将Seperator设置为无。

enter image description here

9

在斯威夫特:

tableView.separatorStyle = .None 
1

在你viewDidLoad

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

在viewDidLoad方法,你必须写这条线。

tableViews.separatorStyle = UITableViewCellSeparatorStyleNone; 

这是工作代码。

5

存在缺陷iOS 9 beta 4:分隔线出现在UITableViewCell之间,即使您将故事板中的separatorStyle设置为UITableViewCellSeparatorStyleNone也是如此。为了解决这个问题,你必须从代码中设置它,因为截至目前,故事板中存在一个错误。希望他们能在未来的测试版中修复它。

下面的代码来进行设置:

[self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone]; 
5

在界面生成器设置表视图分离器“无”

enter image description here 和其中示出了在最后的细胞可以通过以下来移除这些分隔线做法。 最好的办法是分配空视图到tableView FooterView viewDidLoad

self.tableView。tableFooterView = UIView()

相关问题