我已经阅读了苹果文档中关于UITableView类和委托引用的内容,但是找不到显式设置表头高度的方法。
我使用以下委托设置表格单元格高度:
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
并使用以下委托设置节页眉/页脚高度。
-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
-(CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section
谁能帮我设置表头/表尾的高度?
谢谢。
发布于 2011-04-07 20:40:19
只需设置tableHeaderView的frame属性。
发布于 2012-09-28 18:11:46
我找到了一个很棒的黑客。修改框架属性后添加以下行
self.tableView.tableHeaderView = self.tableView.tableHeaderView;
诀窍在于(我认为)当您将视图分配给tableHeaderView属性时,UITableView缓存了高度(实际上是帧)。上面这行代码只是再次指定了高度。
发布于 2016-01-05 18:46:07
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
sizeHeaderToFit()
}
private func sizeHeaderToFit() {
let headerView = tableView.tableHeaderView!
headerView.setNeedsLayout()
headerView.layoutIfNeeded()
let height = headerView.systemLayoutSizeFitting(UILayoutFittingCompressedSize).height
var frame = headerView.frame
frame.size.height = height
headerView.frame = frame
tableView.tableHeaderView = headerView
}
更多详情请访问:here
https://stackoverflow.com/questions/5581116
复制相似问题