我有一个 UITableView 并看到了这种效果,并想为我们的后续数据实现它:
menu_header
menu_subheader
* item
* item
menu_subheader
* item
* item
* item
基本上,我只想显示标题和子标题,然后当用户单击其中一个子标题时,它会显示项目(最好在动画 block 中)并适本地向下或向上调整其他单元格。像这样:
是否有预建组件可以执行此操作?想想看,我好像很想把这些item cells设置成隐藏的。我看过这个https://github.com/peterpaulis/StaticDataTableViewController但它看起来不适用于动态数据。看起来这应该很简单。关于如何完成这项工作的任何想法?理想情况下,我希望它能够在您单击它时插入数据,然后如果您单击另一个子标题,则关闭另一个子标题并添加到该子标题。
最佳答案
要在 TableView 中实现“折叠”,您有两种选择:
- 根据每个部分的折叠/展开属性控制部分中的单元格数量。折叠或展开时,使用 tableView 上的
insert
或deleteRowsAtIndexPaths:withRowAnimation:
方法。 - 使用委托(delegate)方法控制单元格的高度。根据每个部分的折叠/展开属性为折叠部分返回零。折叠或展开时,调用
beginUpdates
,紧接着调用endUpdates
重新计算高度并为新布局设置动画。
我在 this GitHub repo 中创建了第二个选项的简单实现。 .如果您对此有其他疑问,请告诉我。
关于ios - 在 UITableView 中显示和隐藏特定的单元格类型(可能带有动画),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25676433/