Latest 1.3.1
Homepage https://github.com/OliverLetterer/SLExpandableTableView
License MIT
Platforms ios 6.0, requires ARC
Frameworks Foundation, UIKit
Authors

CI Status
Version
License
Platform

SLExpandableTableView is a UITableView subclass that gives you easy access to expandable and collapsable sections by just implementing a few more delegate and dataSource protocols.

How to use SLExpandableTableView

  • Installation
pod 'SLExpandableTableView'
  • Load the SLExpandableTableView in a UITableViewController
- (void)loadView
{
    self.tableView = [[SLExpandableTableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain];
}
  • Implement the SLExpandableTableViewDatasource protocol
- (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
}
  • Implement the SLExpandableTableViewDelegate protocol
- (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
{
  //...
}

Sample Screenshots

SLExpandableTableView
SLExpandableTableView

Latest podspec

{
    "name": "SLExpandableTableView",
    "version": "1.3.1",
    "platforms": {
        "ios": "6.0"
    },
    "license": "MIT",
    "source": {
        "git": "https://github.com/OliverLetterer/SLExpandableTableView.git",
        "tag": "1.3.1"
    },
    "frameworks": [
        "Foundation",
        "UIKit"
    ],
    "requires_arc": true,
    "homepage": "https://github.com/OliverLetterer/SLExpandableTableView",
    "summary": "UITableView subclass with expandable sections.",
    "authors": {
        "Oliver Letterer": "[email protected]"
    },
    "source_files": "SLExpandableTableView"
}

Pin It on Pinterest

Share This