美文网首页
UITableView分割线问题

UITableView分割线问题

作者: KermitX | 来源:发表于2016-08-04 16:48 被阅读56次

    在实际开发中由于UI设计我们很少会使用系统自带的分割线,之前都是隐藏系统分割线(_tabbleView.separatorStyle = UITableViewCellSeparatorStyleNone;)然后自己在cell中添加一个的View设置背景色与高度进而达到效果分割线的效果。当我们需要的是两端到顶的分割线时,可以直接修改系统的分割线。当然如果需要的并不是两端到顶的我们只要重新设置UIEdgeInsets * set = UIEdgeInsetsMake(CGFloat top, CGFloat left, CGFloat bottom, CGFloat right);替换UIEdgeInsetsZero以达到所要实现的效果。

    设置两端间距为0的代码⬇️
    // 设置分割线颜色
    _groupsTableView.separatorColor = [UIColor colorWithHexString:@"2c2c2d"];
    #pragma mark - 设置分割线的方法
    -(void)viewDidLayoutSubviews {
        if ([_groupsTableView respondsToSelector:@selector(setSeparatorInset:)]) {
            [_groupsTableView setSeparatorInset:UIEdgeInsetsZero];
        }
        if ([_groupsTableView respondsToSelector:@selector(setLayoutMargins:)])  {
            [_groupsTableView setLayoutMargins:UIEdgeInsetsZero];
        }
    }
    
    -(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPat{
        if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {
            [cell setLayoutMargins:UIEdgeInsetsZero];
        }
        if ([cell respondsToSelector:@selector(setSeparatorInset:)]){
            [cell setSeparatorInset:UIEdgeInsetsZero];
        }
    }
    

    相关文章

      网友评论

          本文标题:UITableView分割线问题

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