我正在寻找一种在普通模式下完全删除UITableView中的分隔线的方法。这是分组自动完成的,但这也会以一种难以测量的方式改变表的尺寸。我已经将分隔线颜色设置为colorClear。但这并不能完全解决问题。
当我试图在单元格中绘制一个自定义背景视图时,我希望单元格是无缝的,但中间保留的一个像素线给我带来了问题。是否有比使用分组视图然后拉伸视图更优雅的解决方案?
我正在寻找一种在普通模式下完全删除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];
}