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

正常情况下,我们使用系统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属性即可。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容