Add PullToRefresh using animated GIF to any scrollView with just simple code

UzysAnimatedGifPullToRefresh

Add PullToRefresh using animated GIF to any scrollView with just simple code.

UzysAnimatedGifPullToRefresh features:

  • simple to use.
  • Support CocoaPods.
  • ARC Only (if your project doesn't use ARC , Project -> Build Phases Tab -> Compile Sources Section -> Double Click on the file name Then add -fno-objc-arc to the popup window.)

Information

Installation

  1. UzysAnimatedGifPullToRefresh in your app is via CocoaPods.
  2. Copy over the files libary folder to your project folder

Usage

Import header.

#import "UIScrollView+UzysAnimatedGifPullToRefresh.h"

Initialize

adding PullToRefreshActionHandler

- (void)viewDidLoad
{
    __weak typeof(self) weakSelf =self;
    [self.tableView addPullToRefreshActionHandler:^{
        typeof(self) strongSelf = weakSelf;
        [strongSelf insertRowAtTop];
    }
    ProgressImagesGifName:@"spinner_dropbox@2x.gif" 
    LoadingImagesGifName:@"run@2x.gif" 
    ProgressScrollThreshold:60 
    LoadingImageFrameRate:30];
}

programmatically trigger PullToRefresh

[_tableView triggerPullToRefresh];

stop PullToRefresh Activity Animation

[_tableView stopRefreshAnimation];

option

Progress : Animated GIF , Loading : Animated GIF

- (void)addPullToRefreshActionHandler:(actionHandler)handler
                ProgressImagesGifName:(NSString *)progressGifName
                 LoadingImagesGifName:(NSString *)loadingGifName
              ProgressScrollThreshold:(NSInteger)threshold;

Progress : Animated GIF , Loading : UIActivitiyIndicator

- (void)addPullToRefreshActionHandler:(actionHandler)handler
                ProgressImagesGifName:(NSString *)progressGifName
              ProgressScrollThreshold:(NSInteger)threshold;

Progress : Array images , Loading : UIActivitiyIndicator

- (void)addPullToRefreshActionHandler:(actionHandler)handler
                       ProgressImages:(NSArray *)progressImages
              ProgressScrollThreshold:(NSInteger)threshold;

Progress : Array images , Loading : Array images

- (void)addPullToRefreshActionHandler:(actionHandler)handler
                       ProgressImages:(NSArray *)progressImages
                        LoadingImages:(NSArray *)loadingImages
                    ProgressScrollThreshold:(NSInteger)threshold
               LoadingImagesFrameRate:(NSInteger)lframe;

Setup TopInsets for both landscape and portrait.

[self.tableView addTopInsetInPortrait:64 TopInsetInLandscape:52];
// iOS 7 LandScape Navigationbar size 52 , Portrait Navigationbar size 64  

Non Translucent Navigation Controller.

self.navigationController.navigationBar.translucent= NO; 
[self.tableView addTopInsetInPortrait:0 TopInsetInLandscape:0];

GitHub