iOS UITableView 让cell分割线(Separator)从左边0的位置开始

在做APP的个人中心或者其它页面的时候会要求页面cell的分割线是从左边0开始的,但是系统默认是间隔了15像素的距离的,如下图1-1

iOS UITableView 让cell分割线(Separator)从左边0的位置开始_第1张图片
图1-1

可能大家都会说自定义cell就搞定了啊,没错,但是有没有更加好一点的方法呢?毕竟自定义cell费时间啊(其实是懒),其实办法还是有的,而且也简单,在iOS7中可以通过设置setSeparatorInset:UIEdgeInsetsZero,在iOS8改成setLayoutMargins:方法了,为了兼容iOS7,所以要加个判断,具体代码在tableView页面添加下面的方法即可:


- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
    if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {
        [cell setLayoutMargins:UIEdgeInsetsZero];
    }
    if ([cell respondsToSelector:@selector(setSeparatorInset:)]) {
        [cell setSeparatorInset:UIEdgeInsetsZero];
    }
}

- (void)viewDidLayoutSubviews
{
    if ([_tableView respondsToSelector:@selector(setSeparatorInset:)]) {
        [_tableView setSeparatorInset:UIEdgeInsetsZero];
    }
    if ([_tableView respondsToSelector:@selector(setLayoutMargins:)]) {
        [_tableView setLayoutMargins:UIEdgeInsetsZero];
    }
}

完成之后效果如图1-2,是不是很省事?:

iOS UITableView 让cell分割线(Separator)从左边0的位置开始_第2张图片
图1-2

你可能感兴趣的:(iOS UITableView 让cell分割线(Separator)从左边0的位置开始)