[iOS]解决UITableView系统cell分隔线起始位置

2016-04-11  本文已影响1048人  PlutoMa

正常情况下,我们使用系统cell展示出来的tableView是这样的:

屏幕快照 2016-04-11 下午10.47.45.png

系统自带的分隔线默认会偏移15个像素,有时候我们需要的是从头开始的分隔线,我们只需要改变一些属性就可以实现,而不需要自己去重新绘制一条线来代替分隔线。
第一步:设置tableView的属性:

    if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)]) {
        [self.tableView setSeparatorInset:UIEdgeInsetsZero];
    }
    if ([self.tableView respondsToSelector:@selector(setLayoutMargins:)]) {
        [self.tableView setLayoutMargins:UIEdgeInsetsZero];
    }

第二步:设置cell的属性:

    if ([cell respondsToSelector:@selector(setSeparatorInset:)]) {
        [cell setSeparatorInset:UIEdgeInsetsZero];
    }
    if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {
        [cell setLayoutMargins:UIEdgeInsetsZero];
    }

注意:这种方法可以解决iOS8以后的分隔线问题,iOS8之前只需要设置tableView和cell的SeparatorInset属性即可。

上一篇下一篇

猜你喜欢

热点阅读