iOS开发设置tableview的分割线

在开发ios8中大家会发现系统自带的分割线前面会有15个像素的空余,那么怎么才能像以前一样的,我看到别人的博客有提到

首先在viewdidload中设置好你的系统分割线,然后加上如下代码

listView=[[UITableView alloc] initWithFrame:CGRectMake(0, 0, self.contentView.frame.size.width,self.contentView.frame.size.height) style:UITableViewStylePlain];

    listView.delegate=self;

    listView.dataSource=self;

    listView.backgroundColor=UIColorFromRGB(239, 239, 239);

    listView.separatorStyle=UITableViewCellSeparatorStyleSingleLine;

    

    //设置分割线的间隔为零

    if ([listView respondsToSelector:@selector(setSeparatorInset:)]) {

        

        [listView setSeparatorInset:UIEdgeInsetsZero];

        

    }

    

    if ([listView respondsToSelector:@selector(setLayoutMargins:)]) {

        

        [listView setLayoutMargins:UIEdgeInsetsZero];

        

    }

    [self.contentView addSubview:self.listView];

    [self setExtraCellLineHidden:listView];

 再在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];

}

}

原文地址:https://www.cnblogs.com/tuhaoYY/p/4414007.html