实现一个可展开的 UITableView

实现来自 Apple 的示例代码,但示例代码中混了诸多其他的代码(如手势展开某一 cell),所以我在此做一些简化以及注释。

原代码地址:https://developer.apple.com/library/ios/samplecode/TableViewUpdates/Introduction/Intro.html

思路

实现思路是插入时向 UITableView 的 Section 中动态的插入 UITableViewCell ;收缩时删除插入的 UITableViewCell。也就是说将 UITableView 的 Section 当作一个 UITableViewCell 来使用。通过自定义 UITableViewHeaderFooterView 来自定义 SectionHeader 的样式,在其上加入一个 UITapGestureRecognizer 来捕捉手指的点按操作,来执行上述的 UITableViewCell 插入、删除操作。

最终效果如下: