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

问题描述 投票:214回答:9

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

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

objective-c cocoa-touch uikit
9个回答
447
投票

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

Objective-C的

self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;

在Swift中(3之前)

tableView.separatorStyle = .None

在Swift 3中

tableView.separatorStyle = .none

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

62
投票

您也可以在storyboard / xib编辑器中执行此操作。只需将Separator设置为none即可。


17
投票

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

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

9
投票

在Swift中:

tableView.separatorStyle = .None

8
投票

在界面生成器中设置uitableview分隔符“无”

enter image description here和在最后一个单元格后显示的那些分隔线可以通过以下方法移除。最好的方法是在viewDidLoad中将Empty View分配给tableView FooterView

self.tableView.tableFooterView = UIView()


5
投票

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

这是设置它的代码:

[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];
}
© www.soinside.com 2019 - 2024. All rights reserved.