iOS日志-tableHeaderView/tableFooterView xib创建 高度不正确

- (void)_loadTableView
{
    self.tableview.tableHeaderView = self.tableHeaderView;
    
    self.tableview.tableFooterView = self.tableFooterView;
    
    [self.tableview registerNib:UICellMineItemNext.dh_loadNib
         forCellReuseIdentifier:UICellMineItemNext.dh_className];
}

#pragma mark - Getter
- (UITableHeaderViewMine *)tableHeaderView
{
    if (_tableHeaderView == nil) {
        _tableHeaderView = [[NSBundle mainBundle] loadNibNamed:@"UITableHeaderViewMine" owner:self options:nil].lastObject;
        _tableHeaderView.delegate = self;
    }
    return _tableHeaderView;
}

- (UITableFooterViewMine *)tableFooterView
{
    if (_tableFooterView == nil) {
        _tableFooterView = [[NSBundle mainBundle] loadNibNamed:@"UITableFooterViewMine" owner:self options:nil].lastObject;
        kWeakself
        _tableFooterView.didChickFooterCallback = ^{
            [weakself chickLogout];
        };
    }
    return _tableFooterView;
}
image.png

下方高度明显不正确 tableFooterView 无法直接适应

解决方法:在header和footer 外层再套一层view 用来适配高度

#pragma mark - Getter
- (UIView *)tableHeaderView
{
    if (_tableHeaderView == nil) {
        _tableHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, 200)];
        
        UITableHeaderViewMine *contentView = [[NSBundle mainBundle] loadNibNamed:@"UITableHeaderViewMine" owner:self options:nil].lastObject;
        contentView.delegate = self;
        [_tableHeaderView addSubview:contentView];
        
        [contentView mas_makeConstraints:^(MASConstraintMaker *make) {
            make.edges.mas_equalTo(_tableHeaderView);
        }];
    }
    return _tableHeaderView;
}

- (UIView *)tableFooterView
{
    if (_tableFooterView == nil) {
        
        _tableFooterView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, 60)];
        
        UITableFooterViewMine *contentView = [[NSBundle mainBundle] loadNibNamed:@"UITableFooterViewMine" owner:self options:nil].lastObject;
        kWeakself
        contentView.didChickFooterCallback = ^{
            [weakself chickLogout];
        };
        [_tableFooterView addSubview:contentView];
        
        [contentView mas_makeConstraints:^(MASConstraintMaker *make) {
            make.edges.mas_equalTo(_tableFooterView);
        }];
        
    }
    return _tableFooterView;
}

image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容