Giter Site home page Giter Site logo

mgcollapsabletableview's Introduction

MGCollapsableTableViewController

Collapsable UITableView Sections.

  • Xcode 7 or higher.
  • iOS 6.0 or higher.

Screenshot

Screenshot

Sample Project

Download the whole project or clone this Git repository.

Usage

  • The ./Base folder, which contains all required source files, should be copied to your project.
  • Implement your own section header view with MGCollapsableTableViewSectionViewBase protocol.
    • Implement the delegate property.
    • Invoke delegate's - (void)collapseableSection:(id)sectionView isCollapsed:(BOOL)isCollapsed on header view events, e.g. when user taps on header view.
    • Implement the tableViewSectionCollapsed property, note that its getter and setter are used to obtain or change the state of the header view, you should not invoke delegate methods when tableViewSectionCollapsed changes.
  • Implement your own UITableViewController by subclassing MGCollapsableTableViewController.
    • Create an array of MGCollapsableTableViewSectionSource objects as the data source for UITableView.
    • Implement - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section and return your desired header view height.
    • Implement - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section. You must call [self setupCollapsableSection:sectionIndex:] on each section view object in order to delegate header view events to UITableViewController.
    • Implement other necessary methods(cellForRowAtIndexPath...).
    • Call collapseSection, expandSection, collapseAllSections, expandAllSections if you want programmatically control the state of a(all) section(s).

mgcollapsabletableview's People

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.