Skip to content

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. (iPhone, iPad, iOS)

License

Notifications You must be signed in to change notification settings

OliverLetterer/SLExpandableTableView

Folders and files

NameName
Last commit message
Last commit date

Latest commit

3b05c8d · Mar 30, 2016

History

58 Commits
Mar 30, 2016
Nov 29, 2014
Jul 27, 2011
Feb 7, 2015
Jul 27, 2011
Feb 19, 2014
Nov 29, 2014
Nov 3, 2013
Aug 14, 2014
Feb 19, 2014
Feb 7, 2015

Repository files navigation

SLExpandableTableView

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

About

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. (iPhone, iPad, iOS)

Resources

License

Stars

Watchers

Forks

Packages

No packages published