您的位置:首页 > 移动开发 > IOS开发

JHRefresh--iOS可快速实现自定义下拉刷新/上拉加载组件

2020-02-29 23:47 701 查看

JHRefresh--iOS可快速实现自定义下拉刷新/上拉加载组件

点此进入GitHub下载最新源码


此组件的想法来自MJ大神的下拉刷新,如有侵权请联系。。


1、如何使用封装好的刷新组件?

将JHRefresh文件夹加到项目中,#import "JHRefresh.h",然后加入以下代码:

__weak JHRefreshCommonExampleController *weakSelf = self;
//加入下拉刷新组件
[self.tableView addRefreshHeaderViewWithAniViewClass:[JHRefreshCommonAniView class] beginRefresh:^{
//开始刷新时需要做的事情写在这里。

//事情做完了别忘了结束刷新动画~~~
[weakSelf.tableView headerEndRefreshingWithResult:JHRefreshResultSuccess];

}];

//加入上拉加载组件
[self.tableView addRefreshHeaderViewWithAniViewClass:[JHRefreshCommonAniView class] beginRefresh:^{
//开始刷新时需要做的事情写在这里。

//事情做完了别忘了结束刷新动画~~~
[weakSelf.tableView footerEndRefreshing];

}];

Demo中封装了2种刷新效果(JHRefreshCommonAniView、JHRefreshAmazingAniView),可任意组合,Demo中的效果如下:

JHRefreshCommonAniView JHRefreshAmazingAniView JHRefreshCommonAniView 

JHRefreshAmazingAniView

2、如何自定义刷新组件?

  • (1)自定义CustomViewAniView继承JHRefreshAniBaseView
  • (2)在CustomViewAniView.m中实现JHRefreshViewDelegate中的方法,对应的方法中实现UI的变换
@required
/**
*  下拉时的动画
*/
- (void)refreshViewAniToBePulling;
/**
*  变成普通状态时的动画
*/
- (void)refreshViewAniToBeNormal;
/**
*  刷新开始
*/
- (void)refreshViewBeginRefreshing;
/**
*  刷新结束
*
*  @param result 刷新结果
*/
- (void)refreshViewEndRefreshing:(JHRefreshResult)result;

@optional
/**
*  拖拽到对应的位置
*
*  @param pos 位置,范围:1-JHRefreshViewHeight
*/
- (void)refreshViewPullingToPosition:(NSInteger)pos;
  • (3)使用自定义的CustomViewAniView

    [self.tableView addRefreshHeaderViewWithAniViewClass:[CustomViewAniView class] beginRefresh:^{
    //开始刷新时需要做的事情写在这里。
    
    //事情做完了别忘了结束刷新动画~~~
    [weakSelf.tableView headerEndRefreshingWithResult:JHRefreshResultSuccess];
    
    }];

  • 点赞
  • 收藏
  • 分享
  • 文章举报
o木頭o 发布了1 篇原创文章 · 获赞 0 · 访问量 1370 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐