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

}

}

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。