我在 tableView 中有一个 subview ,位于单元格上方并通过 Storyboard添加。
当我单击 UpgradeView 中的升级按钮时,我调用了 upgradeVIew.removeFromSuperview(),它按预期删除了 UpgradeView。然而,它并没有像我预期的那样将细胞向上推,只是留下了一个空隙。
为了纠正这个问题,我还调用了 upgradeView.frame.size.height = 0,这使得单元格也向上推。
为什么 removeFromSuperview() 不折叠 subview ?
最佳答案
UITableView 管理它自己的直接 View 层次结构(不是您的自定义单元格,而是它为您创建和管理的表格页眉、页脚、部分、单元格行)。它并非旨在响应对此 View 层次结构的外部更改。所以它根本不会注意到您从其父 View 中删除了表标题 View 。
然而,正如在另一个回复中指出的那样,如果您将 tableHeaderView
设置为 nil,即使用记录的方式更改表头,那么 UITableView 将做出相应的响应。
关于ios - 为什么 removeFromSuperview() 不折叠 tableview 的 subview ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48343202/