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];
这个不是为了显示不生硬,而加动画的,而是为了让系统立马改变的,
另外值得一提的是: