Skip to content

creativehothouse/CCInfiniteScrolling

 
 

Repository files navigation

CCInfiniteScrolling

These UIScrollView categories makes it super easy to add infinite scrolling functionalities to any UIScrollView (or any of its' subclass). Instead of relying on delegates and/or subclassing UIViewController, CCInfiniteScrolling uses the Objective-C runtime to add the following 2 methods to UIScrollView:

- (void)addTopInfiniteScrollingWithActionHandler:(void (^)())actonHandler;
- (void)addBottomInfiniteScrollingWithActionHandler:(void (^)())actonHandler;

Installation

CocoaPods is the recommended way to add CCInfiniteScrolling to your project.

Here's an example podfile that installs CCInfiniteScrolling.

###Podfile

platform :ios, '6.0'

pod 'CCInfiniteScrolling'

Usage

(see sample Xcode project in /Example)

Adding Infinite Scrolling

[_tableView addBottomInfiniteScrollingWithActionHandler:^{
    //this block will be triggered when user has scrolled to bottom of tableview;
    //you can start "load more" request
    //simply call [_tableView reloadData] when your request finishes
    }];

You can temporarily disable the infinite scrolling view by setting the infiniteScrollingDisabled property:

tableView.infiniteScrollingDisabled = YES;

Customization

The infinite scrolling view can be customized using the following methods:

@property (nonatomic) IBOutlet UIView *infiniteScrollingCustomView;
@property (nonatomic) IBOutlet UIView *infiniteScrollingCustomFailedView;
+ (void)setInfinityScrollingCustomBlockFailedImage:(UIImage *)image;

@property (nonatomic) IBOutlet UIView *topInfiniteScrollingCustomView;
@property (nonatomic) IBOutlet UIView *bottomInfiniteScrollingCustomView;
@property (nonatomic) IBOutlet UIView *topInfiniteScrollingCustomFailedView;
@property (nonatomic) IBOutlet UIView *bottomInfiniteScrollingCustomFailedView;
@property (nonatomic) BOOL topInfiniteScrollingDisabled;
@property (nonatomic) BOOL bottomInfiniteScrollingDisabled;
@property (nonatomic) BOOL topInfiniteScrollingBlockFailed;
@property (nonatomic) BOOL bottomInfiniteScrollingBlockFailed;

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Objective-C 80.3%
  • Swift 17.1%
  • Ruby 2.6%