UITableHeaderView 高度自适用

本文介绍了一个UITableView HeaderView在使用SDAutoLayout进行高度自适应时出现的问题及解决方案。当UITableViewCell同样采用自适应高度时,tableView在滚动过程中会出现额外空白区域。文章详细描述了如何通过设置UILabel的高度为固定值来避免此问题,并提供了具体的实现代码。
摘要由CSDN通过智能技术生成

使用  SDAutoLayout  使UITableHeaderView高度自适用时,

    _table.tableHeaderView = self.headerView;
    [_table.tableHeaderView layoutIfNeeded];

这样,tableHeaderView可以正常显示,但是我遇到,这样情况

UITableViewCell 也高度自适用时。会出现下面情况

列表在上下滚动时,tableView中间会多出一块,可以确定的这个是由于tableHeaderView高度自适用引起的,如果不设tableHeaderView,或

tableHeaderView里的的控件没有高度自适,就不会出现这样的问题。我的tableHeaderView里有一个UILabel是高度自适用,如何把这样Label设成固定的高度就不会出

现这个问题,代码如下。

        _signatureLabel = [[UILabel alloc]init];
        [_headerView addSubview:_signatureLabel];

        _signatureLabel.textColor = KColorFont1;
        _signatureLabel.textAlignment = NSTextAlignmentCenter;
        _signatureLabel.font = KFontPR10;
        _signatureLabel.text = @"这个人很懒,什么都没有写~这个人很懒,什么都没有写~这个人很懒,什么都没有写~";

        _signatureLabel.sd_layout
        .leftSpaceToView(_headerView, GetWidth6(90))
        .rightSpaceToView(_headerView, GetWidth6(90))
        .topSpaceToView(_idLabel, GetWidth6(10))
        .autoHeightRatio(0);

        [_headerView setupAutoHeightWithBottomView:_signatureLabel bottomMargin:KLeftMargin];

各情尝试最后得到解决方法如下

初始化时

- (void) initUI
{
    
    _table = [[UITableView alloc]init];
    _table.backgroundColor = [UIColor clearColor];
    _table.separatorStyle =UITableViewCellSeparatorStyleNone;

    ........

    _table.tableHeaderView = self.headerView;
    [_table.tableHeaderView layoutIfNeeded];
}

在给header里自适用高度的 label 赋值后, 重新设置一下 tableViewHeader

- (void) setContent
{
    ......

    _signatureLabel.text = sign;
    
    _table.tableHeaderView = self.headerView;
    [_table.tableHeaderView layoutIfNeeded];
}

初始化时执行 layoutIfNeeded ,  给自适应高度的控件赋值后 需要 给table的headerView重新赋值并执行layoutIfNeeded 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值