我在tableView中有一个子视图,位于单元格上方,并通过故事板添加。
以下是文档大纲:
当我单击UpgradeView中的upgrade按钮时,我调用了UpgradeView.removeFromSuperview(),它按预期删除了UpgradeView。然而,它并没有像我预期的那样把细胞往上推,只是留下了一个缺口。
为了纠正这个问题,我还调用upgradeView.frame.size.height=0,这也会使单元格向上推。
为什么removeFromSuperview()不折叠子视图?
最佳答案
UITableView管理它自己的直接视图层次结构(不是您的自定义单元格,而是它为您创建和管理的表格页眉、页脚、节、单元格行)。它不是为响应对此视图层次结构的外部更改而设计的。所以它根本没有注意到您从其父视图中删除了表头视图。
但是,正如另一个回复中指出的,如果将tableHeaderView
设置为nil(使用文档化的方式更改表头),那么UITableView将相应地响应。