UITableView:改变 TableHeaderView 的高度

 tableHeaderView 高度的改变

已经给 view 中的每个子 view 设置过值了,高度算过了,frame 也重新设置过了,可 tableHeaderView 的高度却还是之前的高度,没有变化。内容变多,则会有一部分看不见了;内容变少,则有一部分空白,放在那里实在不好看。

怎么办??

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

[webView sizeToFit];
CGRect newFrame = headerView.frame;
newFrame.size.height = newFrame.size.height + webView.frame.size.height;
headerView.frame = newFrame;
[self.tableView setTableHeaderView:headerView];

 这样以后,效果就出来了。不过这种过度显得有些生硬,能不能加一点点动画,让它变得顺眼一些呢?试试下面的代码:

[self.tableView beginUpdates];
[self.tableView setTableHeaderView:headerView];
[self.tableView endUpdates];
posted @ 2015-09-14 15:12  樱木布莱恩特  阅读(441)  评论(0)    收藏  举报