Latest 1.0.5
Homepage https://github.com/wedxz/LNRefresh
License GPLV3
Platforms ios 8.0, requires ARC
Authors

LNRefresh

Demo
Installation
Documents
Contribution

LNRefresh
LNRefresh
LNRefresh
LNRefresh
LNRefresh

LNRefresh Is a lightweight, can dynamically expand the drop-down refresh component

Support what kinds of controls to refresh

UIScrollViewUITableViewUICollectionViewUIWebViewUITextView

Demo

GIF picture from 华尔街见闻

Style Demo
Usually style LNRefresh
Dynamically change the style LNRefresh

Customize Demos

APP Demo
京东 LNRefresh
天猫 LNRefresh
淘宝 LNRefresh
考拉海购 LNRefresh
美团外卖 LNRefresh
网易新闻 LNRefresh
今日头条 LNRefresh
飞猪 LNRefresh

Installation

CocoaPods

Installation with CocoaPods:

pod 'LNRefresh'

Carthage

Installation with Cartfile:

github "wedxz/LNRefresh"

Documents

How to use LNRefresh

Add pull to refresh
__weak typeof (self) wself = self;
//UITableView
[self.tableView addPullToRefresh:^{
  [wself pullToRefresh];
}];

//UICollectionView
[self.collectionView addPullToRefresh:^{
  [wself pullToRefresh];
}];

//UIWebView
[self.webView.scrollView addPullToRefresh:^{
   [wself.webView reload];
}];
End Pull to refresh
//UITableView
[self.tableView endRefreshing];

//UICollectionView
[self.collectionView endRefreshing];

//UIWebView
[self.webView.scrollView endRefreshing];
Add Loading more
//UITableView
[self.tableView addInfiniteScrolling:^{
  [wself loadMoreRefresh];
}];

//UICollectionView
[self.collectionView addInfiniteScrolling:^{
  [wself loadMoreRefresh];
}];
End Loading more
//UITableView
[self.tableView endLoadingMore];

//UICollectionView
[self.tableView endLoadingMore];
No More data
//UITableView
[self.tableView noticeNoMoreData];

//UICollectionView
[self.tableView noticeNoMoreData];
Auto Refresh
[self.scrollView startRefreshing];
Change the trigger to pull the refresh distance
self.tableView.ln_header.animator.trigger = 100;

Global Settings

Set the GIF image
+ (void)setAllHeaderAnimatorStateImages:(NSArray *)stateImages
                                  state:(LNRefreshState)state;

+ (void)setAllHeaderAnimatorStateImages:(NSArray *)stateImages
                                  state:(LNRefreshState)state
                               duration:(NSTimeInterval)duration;
Change the global pull-down refresh pattern state
+ (void)changeAllHeaderAnimatorType:(LNRefreshHeaderType)type;

+ (void)changeAllHeaderAnimatorType:(LNRefreshHeaderType)type
                            bgImage:(UIImage *)image;

+ (void)changeAllHeaderAnimatorType:(LNRefreshHeaderType)type
                            bgImage:(UIImage *)image
                        incremental:(CGFloat)incremental;

Customize RefreshAnimator

You Need to inherit LNHeaderAnimator,Rewrite the following method.

- (void)setupHeaderView_DIY;
- (void)layoutHeaderView_DIY;
- (void)refreshHeaderView_DIY:(LNRefreshState)state;
- (void)refreshView_DIY:(LNRefreshComponent *)view progress:(CGFloat)progress;

Example: LNHeaderDIYAnimator.m

Analysis

Example: LNHeaderAnimator+Analysis.m

Contribution

vvusu

License

LNRefresh

Copyright (c) 2017 vvusu

Latest podspec

{
    "name": "LNRefresh",
    "version": "1.0.5",
    "summary": "LNRefresh component",
    "description": "LNTheme is a framework to integrate night mode to application written in OC.",
    "homepage": "https://github.com/wedxz/LNRefresh",
    "license": {
        "type": "GPLV3",
        "file": "LICENSE"
    },
    "authors": {
        "wedxz": "[email protected]"
    },
    "platforms": {
        "ios": "8.0"
    },
    "source": {
        "git": "https://github.com/wedxz/LNRefresh.git",
        "tag": "1.0.5"
    },
    "source_files": "LNRefresh/LNRefresh/*.{h,m}",
    "exclude_files": "LNRefresh/*.plist",
    "resources": "LNRefresh/LNRefresh.bundle",
    "requires_arc": true
}

Pin It on Pinterest

Share This