iOS UITableView 让cell分割线(Separat

作者: 傅hc | 来源:发表于2016-08-04 23:27 被阅读552次

    在做APP的个人中心或者其它页面的时候会要求页面cell的分割线是从左边0开始的,但是系统默认是间隔了15像素的距离的,如下图1-1

    图1-1

    可能大家都会说自定义cell就搞定了啊,没错,但是有没有更加好一点的方法呢?毕竟自定义cell费时间啊(其实是懒),其实办法还是有的,而且也简单,在iOS7中可以通过设置setSeparatorInset:UIEdgeInsetsZero,在iOS8改成setLayoutMargins:方法了,为了兼容iOS7,所以要加个判断,具体代码在tableView页面添加下面的方法即可:

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

    完成之后效果如图1-2,是不是很省事?:

    图1-2

    相关文章

      网友评论

      本文标题:iOS UITableView 让cell分割线(Separat

      本文链接:https://www.haomeiwen.com/subject/sbnqsttx.html