/pull-to-refresh

Solution to add pull-to-refresh feature at the top of an UITableView.

Primary LanguageObjective-C

UPDATE: this project does not have support, instead use the iOS built-in solution since iOS 6, UIRefreshControl.

MNMPullToRefresh is a solution to add pull-to-refresh feature to the top of an UITableView.

This solution has its basis on the Mediator design pattern (http://en.wikipedia.org/wiki/Mediator_pattern). 'MNMPullToRefreshManager' acts as a Mediator between the pull-to-refresh view and its container table view, decoupling the view and the scroll management.

In order to maintain this decoupling, there is no 'UITableView' subclass, allowing developers to add this behavior as an aggregate of its own subclasses of 'UITableView' without creating an intermediate class or adding directly in the UIViewController that manages table delegate and data source.

Installation instructions

  1. Copy the whole 'MNMPullToRefresh' folder into your project

  2. In your UIViewController class, create a 'MNMPullToRefreshManager' to link an 'UITableView' and the 'MNMPullToRefreshView'. Use a sentence like this:

    pullToRefreshManager_ = [[MNMPullToRefreshManager alloc] initWithPullToRefreshViewHeight:60.0f 
    																				  tableView:table_ 
    																				 withClient:self];
    
  3. Implement 'MNMPullToRefreshManagerClient' selectors on your UIViewController in order to inform to delegate about the correct offset of the table

  4. You can see this usage in 'ViewController' classes.

Documentation

  1. Execute 'appledoc appledoc.plist' in the root of the project path to generate documentation.