• Stars
    star
    123
  • Rank 290,145 (Top 6 %)
  • Language
    Objective-C
  • Created about 9 years ago
  • Updated about 6 years ago

Reviews

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

Repository Details

仿微博 | 知乎回答 | 京东 | 途牛旅游 高扩展性

GitHub 上下拉刷新项目代码已不少,为何还写LDRefresh呢?

1.追求简洁, 微博5.4.0上下拉没有时间显示, 甚是喜欢, 于是有了LDRefresh。

2.高扩展性: 平时定制GitHub的上下拉刷新代码时发现代码过于繁琐,不易修改,代码简单的项目可扩展性又不强,LDRefresh代码通俗易懂, 在做到简单的同时不失扩展性, 在理解上下拉刷新要素的基础上,你在本代码之上稍加修改,便能实现大部分软件的上下拉刷新效果!

3.为了说明LDRefresh的高扩展性,除微博之外还写了几个Demo

(1)知乎回答:箭头是通过UIBezierPath绘制的, 根据拖拽距离控制中点。

(2)京东商品详情页: 下拉时根据拖拽距离做了颜色渐变 。

(3)途牛上下拉刷新:感谢CALayerAnimationDemo开源了双向注水动画的实现,对此Demo稍加修改,便实现了途牛上下拉刷新。

效果演示

Demo说明

微博5.4.0:LDRefresh效果, demo中第一次上拉刷新LoadMoreEnabled默认是使能的,第二次置成了NO所以无法上拉加载更多了,重新下拉刷新会置成YES。

功能说明:

支持tableView,collectionView, webView 以及所有继承自scrollView的控件。

具体使用查看Demo代码,刷新结束注意调用endRefresh,并且在UIViewController的dealloc方法中移除绑定的refreshHeader,否则会有内存问题!

//下拉刷新
_tableView.refreshHeader = [_tableView addRefreshHeaderWithHandler:^ {
}];

//上拉加载更多
_tableView.refreshFooter = [_tableView addRefreshFooterWithHandler:^ {
}];

//移除绑定的方法,防止内存问题
-(void)dealloc {
    [_tableView removeRefreshHeader];
}