Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

SlimeRefresh looks like UIRefreshControl in iOS6, SlimeRefresh can also run on iOS4.0 and later , and SlimeRefresh can action on UIScrollView.

branch: master

Merge pull request #5 from ivoryxiong/master

FIX: update contentOffset and contentInset synchronously when set loading with expansion
latest commit b918197b40
Gen authored
Octocat-spinner-32 SlimeRefresh.xcodeproj Added a init method January 21, 2013
Octocat-spinner-32 SlimeRefresh FIX: update contentOffset and contentInset synchronously when set loa… May 30, 2013
Octocat-spinner-32 .gitignore Edit .gitignore December 24, 2012
Octocat-spinner-32 Default-568h@2x.png Added a init method January 21, 2013
Octocat-spinner-32 License.txt update July 05, 2012
Octocat-spinner-32 Fixed a typo in readme January 21, 2013
Octocat-spinner-32 gitignore Added a init method January 21, 2013


A lovely refreshing style looks like UIRefreshControl. It looks like the Slime so I named it SlimeRefresh.







1,download the source from

  • git : git clone SlimeRefresh

2,add all under SlimeRefresh/SlimeRefresh to your project.

3,#import "SRRefreshView.h"

4,init SRRefreshView and add it to a UIScrollView.

just like:

    _slimeView = [[SRRefreshView alloc] init];
    _slimeView.delegate = self;
    [_tableView addSubview:_slimeView];


A protocol and a block, choise one.

- (void)slimeRefreshStartRefresh:(SRRefreshView*)refreshView;

Only one protocol, you have to implement. it will be called when the refreshing will be executed.

and here is the other way:

@property (nonatomic, copy)     SRRefreshBlock  block;

as you see there is a block to receive the refresh event.just like:

__block __unsafe_unretained id this = self;
[refreshView setBlock:^(SRRefreshView* sender) { 
    [this load];    //replace this line to your refreshing code.


  • Refere to the demo.

  • The reflesh arrow image :

    • refreshView.refleshView.image = [UIImage imaggeNamed:@"Yours"];
    • refreshView.refreshView.bounds = CGRectMake(0, 0, 23, 23);
    • I'm sorry, it is not a good name.


  • When in the animation the view controller dealloc, that will make application creash.
    • Use the new version and remove refreshView from it's super view, when view controller dealloced.

- (void)dealloc { [refreshView removeFromSuperview]; }


Ok, that is all. Enjoy it, and this is my blog:

Something went wrong with that request. Please try again.