UITabelView的分割线处理及介绍

-------------------------------------------------------------------------------     

                                   2016/1/26   14:14

你不想要这个效果:

UITabelView的分割线处理及介绍_第1张图片

你想要这个效果

UITabelView的分割线处理及介绍_第2张图片

UITabelView的分割线处理及介绍_第3张图片

// tableView 分割线样式

self.tableView.tableFooterView = [[UIView alloc]init];

self.tableView.tableFooterView.backgroundColor = [UIColor colorWithWhite:0.97 alpha:1.0];

self.tableView.backgroundColor = [UIColor colorWithWhite:0.97 alpha:1.0];

#pragma mark - 设置tableView每一组的头部试图高度
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
    
    return 20;
}


-------------------------------------------------------------------------------     

                                   2016/1/25   13:21

    self.tableView.separatorStyle = <#下面参数#>;
    
    /*
     
     不显示分割线
    UITableViewCellSeparatorStyleNone,
     
     全部显示 (默认)
    UITableViewCellSeparatorStyleSingleLine,
     
     只显示无数据cell的分割线
    UITableViewCellSeparatorStyleSingleLineEtched
     
     有数据的cell显示分割线,无数据的不显示
    self.tableView.tableFooterView = [[UIView alloc]init];
     */

不显示分割线

UITabelView的分割线处理及介绍_第4张图片

全部显示 (默认)

UITabelView的分割线处理及介绍_第5张图片

无数据的cell显示分割线

UITabelView的分割线处理及介绍_第6张图片

有数据的cell显示分割线,无数据的不显示

UITabelView的分割线处理及介绍_第7张图片


配合上面状态使用,分割线无间距

#pragma mark - 让分割线无间距方法
- (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 forRow
AtIndexPath:(NSIndexPath*)indexPath {
    if ([cell respondsToSelector:@selector(setSeparatorInset:)]) {
        [cell setSeparatorInset:UIEdgeInsetsZero];
    }
    
    if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {
        [cell setLayoutMargins:UIEdgeInsetsZero];
    }
}

你可能感兴趣的:(UITabelView的分割线处理及介绍)