设置tableView separator inset问题

我在使用tableView时候使用xib 设置tableView的separator inset属性为自定义,left为0,right为0,
如图:


设置tableView separator inset问题_第1张图片
WX20170117-142751.png

在运行时(真机上 iPad【iOS8.4】和真机iPod【ios8.4】)显示:没有tableviewcell部分的分割线是顶到头的,有tableviewcell的部分距离左边顶头总有默认15的距离,如图:

iPad

设置tableView separator inset问题_第2张图片
WX20170117-145914.png

iPod

设置tableView separator inset问题_第3张图片
IMG_0024.PNG

在tableviewcell的xib上我也找到separator inset 属性,也设置为custom,left 0,right 0,在xib上观察到是顶到头的,但在真机上运行时还是有15的距离(像是无效一样)。。。如图:

默认是15 的 cell 的xib

设置tableView separator inset问题_第4张图片
WX20170117-142429.png

设置为0时的cell 的xib

设置tableView separator inset问题_第5张图片
WX20170117-142529.png

解决方法:调用tableView的代理

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

一运行,wtf 好了、终于顶到头了。

设置tableView separator inset问题_第6张图片
WX20170117-151606.png

还发现了一个奇怪问题,设置cell的分割线在iPad上显示还是默认的灰白色,iPod上显示是cell的背景色,代码都是一样的,在两个真机上颜色不一样 ,有知道的高人 ,请指点迷津!
参考链接: http://www.jianshu.com/p/2044ab899ea9

你可能感兴趣的:(设置tableView separator inset问题)