Skip to content
A pull down to refresh control like the one in Apple's iOS6 Mail App
Objective-C Ruby
Branch: master
Clone or download
Latest commit 27b4e2f Jul 16, 2015
Type Name Latest commit message Commit time
Failed to load latest commit information.
Demo Added .gitignore Jul 27, 2012
ODRefreshControl Add custom getter to refreshing property Jul 25, 2013
.gitignore Added .gitignore Jul 27, 2012
LICENSE.txt Initial commit Jul 4, 2012
ODRefreshControl.podspec Update podspec Jul 16, 2015
README.textile Update README for 2.0 branch info Apr 10, 2015


__*Notice:* There’s a new 2.0 branch where I updated the control for iOS7 plus I plan to do some interesting new features. If people could try it out so I can be sure I didn’t break anything it’d be great, and report any issue you find, I’d really appreciate that :)


ODRefreshControl is a “pull down to refresh” control for UIScrollView, like the one Apple introduced in iOS6, but available to anyone from iOS4 and up.


  • Drag the ODRefreshControl/ODRefreshControl folder into your project.
  • Add the QuartzCore framework to your project.
  • #import "ODRefreshControl.h"

Important note if your project doesn’t use ARC: you must add the -fobjc-arc compiler flag to ODRefreshControl.m in Target Settings > Build Phases > Compile Sources.


(see sample Xcode project in /Demo)

Adding a refresh control to your table view

ODRefreshControl *refreshControl = [[ODRefreshControl alloc] initInScrollView:self.scrollView];

To know when the refresh operation has started, add an action method to the UIControlEventValueChanged event of the control

[refreshControl addTarget:self action:@selector(dropViewDidBeginRefreshing:) forControlEvents:UIControlEventValueChanged];

If you’d like to programmatically start the refresh operation, use

[refreshControl beginRefreshing];

Remember to tell the control when the refresh operation has ended

[refreshControl endRefreshing];


The ODRefreshControl can be customized using the following properties:

@property (nonatomic, strong) UIColor *tintColor;
@property (nonatomic, assign) UIActivityIndicatorViewStyle activityIndicatorViewStyle;
@property (nonatomic, strong) UIColor *activityIndicatorViewColor; // iOS5 or more


ODRefreshControl is brought to you by Fabio Ritrovato and contributors to the project. If you have feature suggestions or bug reports, feel free to help out by sending pull requests or by creating new issues. If you’re using ODRefreshControl in your project, attribution would be nice.

You can’t perform that action at this time.