UITableViewcell分割线相关、隐藏某条分割线

系统默认cell分割线是左边缩进15pt
大致遇见以下几种情况:
1.隐藏section分割线,不隐藏row分割线
特别注意初始化UITableView时style设为plain需要再section>=2的情况下才会适用。
2.
如果我们想要隐藏某条分割线或者修改分割线长短可重写下面方法
例如:将section==1且indexpath.row==4的分割线隐藏

-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
    if (indexPath.section == 1 && indexPath.row == 4) {
        if ([cell respondsToSelector:@selector(setSeparatorInset:)]) {
            [cell setSeparatorInset:UIEdgeInsetsMake(0, 0, 0, kDeviceWidth)];
        }
    }else{
        if ([cell respondsToSelector:@selector(setSeparatorInset:)]) {
            [cell setSeparatorInset:UIEdgeInsetsMake(0, 15, 0, 15)];
        }

        if ([cell respondsToSelector:@selector(setPreservesSuperviewLayoutMargins:)]) {
            [cell setPreservesSuperviewLayoutMargins:NO];
        }

        if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {
            [cell setLayoutMargins:UIEdgeInsetsMake(0, 15, 0, 15)];
        }
    }

}

猜你喜欢

转载自blog.csdn.net/zhfdbk/article/details/79411351