TableViewCell 分割线全屏宽

在ios7之后 新增@property (nonatomic) UIEdgeInsets separatorInset;

一般情况下 通过设置inset内边距的值即可改变cell分割线的长度。

(注意:)cell左侧同时缩进了15个像素,要想达到去除的效果,在ios8后需要实现如下两个方法:

e.g:

/**
 *  ios8之后对cell分割线 左侧的处理,实现两个方法
 */
- (void)viewDidLayoutSubviews
{
    if ([_rightTableView respondsToSelector:@selector(setSeparatorInset:)]){
        [_rightTableView setSeparatorInset:UIEdgeInsetsZero];
    }
    if ([_rightTableView respondsToSelector:@selector(setLayoutMargins:)]) {
        [_rightTableView setLayoutMargins:UIEdgeInsetsZero];
    }
}

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

iOS10后可以修改separator Insert 选项的值改变分割线的宽度

你可能感兴趣的:(TableViewCell 分割线全屏宽)