有没有办法从UITableView中删除分隔线?
我正在寻找一种方式来完全删除在普通模式下UITableView中的分隔线。这是在分组时自动完成的,但这也会以难以测量的方式改变表格的尺寸。我已将分隔线颜色设置为colorClear。但是这并不能完全解决问题。有没有办法从UITableView中删除分隔线?
由于我试图在单元格中绘制自定义背景视图,并且我希望单元格是无缝的,所以保留在中间的一个像素线会导致出现问题。是否有一个更优雅的解决方法,然后使用分组视图,然后将其拉伸?
你可以用UITableView
属性separatorStyle
来做到这一点。确保该属性设置为UITableViewCellSeparatorStyleNone
,然后设置好。
目标C
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
在夫特(前3)
tableView.separatorStyle = .None
在夫特3
tableView.separatorStyle = .none
顺便说一下(分隔符=>无),您也可以在IB中执行此操作。 – 2009-05-29 09:56:21
这似乎只能删除表格部分中的分隔线。有没有办法删除*部分之间的分隔线? – devios1 2013-07-26 23:00:55
部分之间的界限并不是一条线,而是部分的视图。你可以通过从`UITableViewDelegate`协议实现`tableView:viewForHeaderInSection:`来改变视图。 – 2013-07-27 07:48:17
- (void)viewDidLoad {
[super viewDidLoad];
[self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];
}
我仍然有一个深灰色线尝试后其他答案。我不得不添加以下两行来使单元之间的行线变得“不可见”。
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
self.tableView.separatorColor = [UIColor clearColor];
您也可以在故事板/ xib编辑器中执行此操作。只需将Seperator设置为无。
在斯威夫特:
tableView.separatorStyle = .None
在你viewDidLoad
:
self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];
if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)])
{
[self.tableView setSeparatorInset:UIEdgeInsetsZero];
}
在viewDidLoad方法,你必须写这条线。
tableViews.separatorStyle = UITableViewCellSeparatorStyleNone;
这是工作代码。
存在缺陷iOS 9 beta 4:分隔线出现在UITableViewCell
之间,即使您将故事板中的separatorStyle
设置为UITableViewCellSeparatorStyleNone
也是如此。为了解决这个问题,你必须从代码中设置它,因为截至目前,故事板中存在一个错误。希望他们能在未来的测试版中修复它。
下面的代码来进行设置:
[self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];
在此答案中更改`separatorInset` http://stackoverflow.com/a/8561820/1418457 – onmyway133 2017-03-08 14:24:20