SLExpandableTableView 1.3.1

SLExpandableTableView 1.3.1

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布日期最新发布2015年2月

Oliver Letterer维护。



  • Oliver Letterer

SLExpandableTableView 是一个 UITableView 子类,只需实现一些额外的代理和 dataSource 协议,即可轻松访问可展开和可折叠的节。

如何使用 SLExpandableTableView

  • 安装
pod 'SLExpandableTableView'
  • 在 UITableViewController 中加载 SLExpandableTableView
- (void)loadView
{
    self.tableView = [[SLExpandableTableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain];
}
  • 实现 SLExpandableTableViewDatasource 协议
- (BOOL)tableView:(SLExpandableTableView *)tableView canExpandSection:(NSInteger)section
{
    // return YES, if the section should be expandable
}

- (BOOL)tableView:(SLExpandableTableView *)tableView needsToDownloadDataForExpandableSection:(NSInteger)section
{
    // return YES, if you need to download data to expand this section. tableView will call tableView:downloadDataForExpandableSection: for this section
}

- (UITableViewCell<UIExpandingTableViewCell> *)tableView:(SLExpandableTableView *)tableView expandingCellForSection:(NSInteger)section
{
    // this cell will be displayed at IndexPath with section: section and row 0
}
  • 实现 SLExpandableTableViewDelegate 协议
- (void)tableView:(SLExpandableTableView *)tableView downloadDataForExpandableSection:(NSInteger)section
{
    // download your data here
    // call [tableView expandSection:section animated:YES]; if download was successful
    // call [tableView cancelDownloadInSection:section]; if your download was NOT successful
}

- (void)tableView:(SLExpandableTableView *)tableView didExpandSection:(NSUInteger)section animated:(BOOL)animated
{
  //...
}

- (void)tableView:(SLExpandableTableView *)tableView didCollapseSection:(NSUInteger)section animated:(BOOL)animated
{
  //...
}

示例截图