• Stars
    star
    339
  • Rank 124,632 (Top 3 %)
  • Language
    Objective-C
  • License
    Other
  • Created over 7 years ago
  • Updated almost 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

轻量级下拉刷新控件,各种动画集合(京东,天猫,淘宝,考拉海购,美团,今日头条,飞猪)

Demo - Installation - Documents - Contribution

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
Dynamically change the style

Customize Demos

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

Installation

CocoaPods

Installation with CocoaPods:

pod 'LNRefresh'

Carthage

Installation with Cartfile:

github "wszoo/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

Copyright (c) 2017 vvusu