我正在寻找一种在普通模式下完全删除UITableView中的分隔线的方法。这是分组自动完成的,但这也会以一种难以测量的方式改变表的尺寸。我已经将分隔线颜色设置为colorClear。但这并不能完全解决问题。
当我试图在单元格中绘制一个自定义背景视图时,我希望单元格是无缝的,但中间保留的一个像素线给我带来了问题。是否有比使用分组视图然后拉伸视图更优雅的解决方案?
我正在寻找一种在普通模式下完全删除UITableView中的分隔线的方法。这是分组自动完成的,但这也会以一种难以测量的方式改变表的尺寸。我已经将分隔线颜色设置为colorClear。但这并不能完全解决问题。
当我试图在单元格中绘制一个自定义背景视图时,我希望单元格是无缝的,但中间保留的一个像素线给我带来了问题。是否有比使用分组视图然后拉伸视图更优雅的解决方案?
当前回答
你可以用UITableView属性separatorStyle来做到这一点。确保属性被设置为UITableViewCellSeparatorStyleNone,你就设置好了。
objective - c
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
Swift版本(3之前)
tableView.separatorStyle = .None
在Swift 3/4/5中
tableView.separatorStyle = .none
其他回答
在尝试其他答案后,我仍然有一条深灰色的线。我必须添加以下两行,以使单元格之间的行行“不可见”。
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
self.tableView.separatorColor = [UIColor clearColor];
你可以用UITableView属性separatorStyle来做到这一点。确保属性被设置为UITableViewCellSeparatorStyleNone,你就设置好了。
objective - c
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
Swift版本(3之前)
tableView.separatorStyle = .None
在Swift 3/4/5中
tableView.separatorStyle = .none
在你的viewDidLoad中:
self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];
if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)])
{
[self.tableView setSeparatorInset:UIEdgeInsetsZero];
}
在接口生成器中设置表视图分隔符“None”
这些分隔线显示在最后一个单元格之后,可以通过以下方法去除。 最好的方法是在viewDidLoad中将空视图分配给tableView FooterView
self.tableView.tableFooterView = UIView()
- (void)viewDidLoad {
[super viewDidLoad];
[self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];
}