关于动态改变tableHeaderView高度

view 作为 tableView 的 tableHeaderView,单纯的改变 view 的 frame 是无济于事的,tableView 不会时刻适应它的高度,所以,如何告诉tableView 它的 tableHeaderView 已经改变了?很简单,就一句话(关键最后一句):

headerView.frame = newFrame;
[self.tableView setTableHeaderView:headerView];

或者

self.tableView.tableHeaderView = headerView;
[self.tableView beginUpdates];
[self.tableView setTableHeaderView:headerView];
[self.tableView endUpdates];

这个不是为了显示不生硬,而加动画的,而是为了让系统立马改变的,


另外值得一提的是:

1.headerView刚开始的frame要放在实例之后,

_testTableView.tableHeaderView = _testHeaderView;之前,否则貌似不太准

2.如果是用xib建的tableHeaderView,一定要把,整个tableHeaderView的autoResizing去掉,(而且一新建autoresizing默认会填满,即产生作用,容易疏忽)特别是有代码同时调尺寸的时候,否则还是会乱

关于动态改变tableHeaderView高度_第1张图片

你可能感兴趣的:(关于动态改变tableHeaderView高度)