UITableView:改变 TableHeaderView 的高度
2014-07-08 23:28
309 查看
参考:http://stackoverflow.com/a/526825
有这么一种需求,在列表顶端显示一些别样的数据,而这个别样的数据则需要通过一个别样的 View 来展现,它便是 UITableView 的 tableHeaderView。
倘若 tableHeaderView 里的内容很固定,高度不要随着内容的不同而改变,这样还好。
如果,高度是需要动态改变的,某些人(比如我)可能就会遇到这样一个难题:
已经给 view 中的每个子 view 设置过值了,高度算过了,frame 也重新设置过了,可 tableHeaderView 的高度却还是之前的高度,没有变化。内容变多,则会有一部分看不见了;内容变少,则有一部分空白,放在那里实在不好看。
怎么办??
view 作为 tableView 的 tableHeaderView,单纯的改变 view 的 frame 是无济于事的,tableView 不会大度到时刻适应它的高度(以后 Apple 会不会改变就不知道了),所以,如何告诉tableView 它的 tableHeaderView 已经改变了?很简单,就一句话(关键最后一句):
这样以后,效果就出来了。不过这种过度显得有些生硬,能不能加一点点动画,让它变得顺眼一些呢?试试下面的代码:
有这么一种需求,在列表顶端显示一些别样的数据,而这个别样的数据则需要通过一个别样的 View 来展现,它便是 UITableView 的 tableHeaderView。
倘若 tableHeaderView 里的内容很固定,高度不要随着内容的不同而改变,这样还好。
如果,高度是需要动态改变的,某些人(比如我)可能就会遇到这样一个难题:
已经给 view 中的每个子 view 设置过值了,高度算过了,frame 也重新设置过了,可 tableHeaderView 的高度却还是之前的高度,没有变化。内容变多,则会有一部分看不见了;内容变少,则有一部分空白,放在那里实在不好看。
怎么办??
view 作为 tableView 的 tableHeaderView,单纯的改变 view 的 frame 是无济于事的,tableView 不会大度到时刻适应它的高度(以后 Apple 会不会改变就不知道了),所以,如何告诉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];
相关文章推荐
- 72.UITableView:改变 TableHeaderView 的高度
- UITableView:改变 TableHeaderView 的高度
- UITableView:改变 TableHeaderView 的高度
- iOS开发--改变tableHeaderView的高度
- tableviewcell 自动调整textfiled的键盘遮挡问题 UITableViewController中的tableview做可以自适应键盘高度来改变tableview的额外高度。
- UITableView:改变 TableHeaderView 的高度
- 58.UITableView:改变 TableHeaderView 的高度--跟随cell滚动
- UITableView:改变 TableHeaderView 的高度
- 改变tableHeaderView的高度
- 【笔记】 改变 tableHeaderView 高度
- 动态改变tableHeaderView的显示隐藏及高度
- 使用tableHeaderView的时候动态改变高度
- iOS UITableView动态改变tableHeaderView的高度
- UITableView:改变 TableHeaderView 的高度
- tableview 分组显示返回footerviewt和headerView的高度不能为0的问题
- tableview中用动画效果改变cell的高度
- ios开发问题2—uitableviewController中如何改变tableview的位置
- 显示或隐藏键盘改变tableView高度
- UITableView 添加 下拉刷新(EGORefreshTableHeaderView)
- 显示或隐藏键盘改变tableView高度