设置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.pngiPod
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 好了、终于顶到头了。
还发现了一个奇怪问题,设置cell的分割线在iPad上显示还是默认的灰白色,iPod上显示是cell的背景色,代码都是一样的,在两个真机上颜色不一样 ,有知道的高人 ,请指点迷津!
参考链接:http://www.jianshu.com/p/2044ab899ea9