设置tableView separator inset问题

2017-01-17  本文已影响262人  逗比小骷髅

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


WX20170117-142751.png

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

iPad

WX20170117-145914.png

iPod

IMG_0024.PNG

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

默认是15 的 cell 的xib

WX20170117-142429.png

设置为0时的cell 的xib

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 好了、终于顶到头了。

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

猜你喜欢

热点阅读