iOS开发之----去除tableViewCell分割线的左边间隙,将分割线填满

-(void)viewDidLayoutSubviews
{
    if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)])
    {
        [self.tableView setSeparatorInset:UIEdgeInsetsMake(0,0,0,0)];
    }
    
    if ([self.tableView respondsToSelector:@selector(setLayoutMargins:)])
    {
        [self.tableView setLayoutMargins:UIEdgeInsetsMake(0,0,0,0)];
    }
}

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

 

1、在- (void)viewDidLoad方法中调用

    [self setUpCellSeparatorInset];

 

2、在当前控制器中,实现以下两个方法:

 

// 设置cell的分割线左边间距为0

 

- (void)setUpCellSeparatorInset

 

{

 

    if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)]) {

 

        [self.tableView setSeparatorInset:UIEdgeInsetsZero];

 

    }

 

    if ([self.tableView respondsToSelector:@selector(setLayoutMargins:)]) {

 

        [self.tableView setLayoutMargins:UIEdgeInsetsZero];

 

    }

 

}

 

 

 

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

 

    }

 

}

 

posted on 2015-08-05 19:11  森code  阅读(514)  评论(0编辑  收藏  举报