类似于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不变
searchBar位置不变,虽然searchBar位置是在
headerView下方,但是 headerView 高度变化是,高度增加是,y --> 变成负数,maxY不变