在iOS开发中,因为各种设计需求,设计师给的标注是cell的分割线顶格的,还有在一个tableView中可能只有1个单元格或者几个单元格,如果不做任何处理,屏幕上就会有没有任何内容的单元格,我们如何隐藏这些多余的cell的分割线呢?直接看代码吧!
//在创建talbleView的下方添加这两个if
if ([myTableView respondsToSelector:@selector(setSeparatorInset:)]) {
myTableView.separatorInset = UIEdgeInsetsMake(0, 0, 0, 0);
}
if ([myTableView respondsToSelector:@selector(setLayoutMargins:)]) {
[myTableView setLayoutMargins:UIEdgeInsetsMake(0, 0, 0, 0)];
}
//实现tableview的代理方法
-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
if ([cell respondsToSelector:@selector(setSeparatorInset:)]) {
cell.separatorInset = UIEdgeInsetsMake(0, 0, 0, 0);
}
if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {
[cell setLayoutMargins:UIEdgeInsetsMake(0, 0, 0, 0)];
}
}
//隐藏表视图多余单元格的分割线,此方法在创建talbeview的后面调用
- (void)setExtraCellLineHidden: (UITableView *)tableView
{
UIView *view = [UIView new];
view.backgroundColor = [UIColor clearColor];
[tableView setTableFooterView:view];
}