动态修改headview高度的时候显示不正确
Opened this issue · 0 comments
miniLV commented
类似于tableView - headerView是用masonry设置的,根据数据不同动态设置高度
UIView *headerView = _tableViewHeader;
CGFloat height = [headerView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize].height;
CGRect frame = headerView.bounds;
frame.size.height = height;
headerView.frame = frame;
[self.tableView setTableHeaderView:headerView];
使用
SwipeTableView
刷新如下
//如果没刷新 _swipeTableView
- (void)p_refreshTableHeaderViewFrame{
UIView *headerView = _tableViewHeader;
CGFloat height = [headerView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize].height;
CGRect frame = headerView.bounds;
frame.size.height = height;
headerView.frame = frame;
_swipeTableView.swipeHeaderView = headerView;
}
headerView 高度确实是动态变化了,但是 searchBar位置一直固定
使用
[_swipeTableView reloadData];
- (void)p_refreshTableHeaderViewFrame{
UIView *headerView = _tableViewHeader;
CGFloat height = [headerView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize].height;
CGRect frame = headerView.bounds;
frame.size.height = height;
headerView.frame = frame;
_swipeTableView.swipeHeaderView = headerView;
[_swipeTableView reloadData];
}
searchBar位置不变,虽然searchBar位置是在headerView
下方,但是 headerView 高度变化是,高度增加是,y --> 变成负数,maxY不变