以编程方式删除UITableView的标题,并自动调整内容大小以填充已删除的区域
我已经通过接口生成器在UITableView
的标题部分添加了一个UIButton
,并希望在某些情况下删除对button的访问。 我试图使用.hidden = TRUE
属性,但它只是隐藏从视图中的button,留下一个空白。 如何以编程方式删除UITableView
的标题,并自动调整表格的内容以填充已删除的标题区域?
如果你想删除表头的视图,只需将myTable.tableHeaderView属性设置为零。 如果你有什么实际上是一个节头,那么你需要从viewForHeaderInSection方法返回nil,并调用[myTableView reloadData]
你也可以这样做:
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section { return 0.0; }
这似乎适用于我的(单)节头,并避免reloadData
的需要。
注意:
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
仍然被称为,但其回报价值似乎被忽略。
我创build了一个名为removeHeader
的布尔属性,然后当我想删除我的头我打电话:
func removeSectionHeader() { removeHeader = true self.tableView.reloadData() }
然后,当我的tableView重新加载它会调用这个tableView委托方法:
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat { if removeHeader { return 0.0 } else { let height = self.tableView.sectionHeaderHeight return height } }