Ei kuvausta

MJLee 4c44c1d89b Fix NoMoreData problem 10 vuotta sitten
MJRefreshExample 4c44c1d89b Fix NoMoreData problem 10 vuotta sitten
MJRefreshScreenshots d11fb47601 Update pod to lastest version 10 vuotta sitten
.gitignore 9ea9aa61d2 Nothing important 11 vuotta sitten
LICENSE 2650843c05 Modify podspec 11 vuotta sitten
MJRefresh.podspec 4c44c1d89b Fix NoMoreData problem 10 vuotta sitten
README.md 60587a6a43 Update README.md 10 vuotta sitten

README.md

MJRefresh

The easiest way to use pull-to-refresh

如何使用MJRefresh

  • cocoapods导入:pod 'MJRefresh'
  • 手动导入:

    • MJRefreshExample/MJRefreshExample/MJRefresh文件夹中的所有文件拽入项目中
    • 导入主头文件:#import "MJRefresh.h"

      MJRefresh.bundle
      MJRefresh.h
      MJRefreshComponent.h        MJRefreshComponent.m
      MJRefreshConst.h            MJRefreshConst.m
      MJRefreshFooter.h           MJRefreshFooter.m
      MJRefreshGifFooter.h        MJRefreshGifFooter.m
      MJRefreshGifHeader.h        MJRefreshGifHeader.m
      MJRefreshHeader.h           MJRefreshHeader.m
      MJRefreshLegendFooter.h     MJRefreshLegendFooter.m
      MJRefreshLegendHeader.h     MJRefreshLegendHeader.m
      UIScrollView+MJExtension.h  UIScrollView+MJExtension.m
      UIScrollView+MJRefresh.h    UIScrollView+MJRefresh.m
      UIView+MJExtension.h        UIView+MJExtension.m
      

具体用法

* 由于这个框架的功能较多,就不写具体文字描述其用法
* 大家可以直接参考示例中的MJTableViewController和MJCollectionViewController,更为直观快速

下拉刷新01-传统

(下拉刷新01-传统)

// 添加传统的下拉刷新
[self.tableView addLegendHeaderWithRefreshingBlock:^{
   // 进入刷新状态后会自动调用这个block
}];
或
// 添加传统的下拉刷新
// 设置回调(一旦进入刷新状态,就调用target的action,也就是调用self的loadNewData方法)
[self.tableView addLegendHeaderWithRefreshingTarget:self refreshingAction:@selector(loadNewData)];

// 马上进入刷新状态
[self.tableView.header beginRefreshing];

下拉刷新02-动画图片

(下拉刷新02-动画图片)

// 添加动画图片的下拉刷新
// 设置回调(一旦进入刷新状态,就调用target的action,也就是调用self的loadNewData方法)
[self.tableView addGifHeaderWithRefreshingTarget:self refreshingAction:@selector(loadNewData)];
// 设置普通状态的动画图片
[self.tableView.gifHeader setImages:idleImages forState:MJRefreshHeaderStateIdle];
// 设置即将刷新状态的动画图片(一松开就会刷新的状态)
[self.tableView.gifHeader setImages:pullingImages forState:MJRefreshHeaderStatePulling];
// 设置正在刷新状态的动画图片
[self.tableView.gifHeader setImages:refreshingImages forState:MJRefreshHeaderStateRefreshing];

下拉刷新03-隐藏时间

(下拉刷新03-隐藏时间)

// 隐藏时间
self.tableView.header.updatedTimeHidden = YES;

下拉刷新04-隐藏状态和时间01

(下拉刷新04-隐藏状态和时间01)

// 隐藏时间
self.tableView.header.updatedTimeHidden = YES;
// 隐藏状态
self.tableView.header.stateHidden = YES;

下拉刷新05-隐藏状态和时间02

(下拉刷新05-隐藏状态和时间02)

下拉刷新06-自定义文字

(下拉刷新06-自定义文字)

// 设置文字
[self.tableView.header setTitle:@"Pull down to refresh" forState:MJRefreshHeaderStateIdle];
[self.tableView.header setTitle:@"Release to refresh" forState:MJRefreshHeaderStatePulling];
[self.tableView.header setTitle:@"Loading ..." forState:MJRefreshHeaderStateRefreshing];

// 设置字体
self.tableView.header.font = [UIFont systemFontOfSize:15];

// 设置颜色
self.tableView.header.textColor = [UIColor redColor];

上拉刷新01-传统

(上拉刷新01-传统)

// 添加传统的上拉刷新
[self.tableView addLegendFooterWithRefreshingBlock:^{
   // 进入刷新状态后会自动调用这个block
}];
或
// 添加传统的上拉刷新
// 设置回调(一旦进入刷新状态,就调用target的action,也就是调用self的loadMoreData方法)
[self.tableView addLegendFooterWithRefreshingTarget:self refreshingAction:@selector(loadMoreData)];

上拉刷新02-动画图片

(上拉刷新02-动画图片)

// 添加动画图片的上拉刷新
// 设置回调(一旦进入刷新状态,就调用target的action,也就是调用self的loadMoreData方法)
[self.tableView addGifFooterWithRefreshingTarget:self refreshingAction:@selector(loadMoreData)];

// 设置正在刷新状态的动画图片
self.tableView.gifFooter.refreshingImages = refreshingImages;

上拉刷新03-隐藏状态01

(上拉刷新03-隐藏状态01)

// 隐藏状态
self.tableView.footer.stateHidden = YES;

上拉刷新04-隐藏状态02

(上拉刷新04-隐藏状态02)

上拉刷新05-全部加载完毕

(上拉刷新05-全部加载完毕)

// 变为没有更多数据的状态
[self.tableView.footer noticeNoMoreData];

上拉刷新06-禁止自动加载

(上拉刷新06-禁止自动加载)

// 禁止自动加载
self.tableView.footer.automaticallyRefresh = NO;

上拉刷新07-自定义文字

(上拉刷新07-自定义文字)

// 设置文字
[self.tableView.footer setTitle:@"Click or drag up to refresh" forState:MJRefreshFooterStateIdle];
[self.tableView.footer setTitle:@"Loading more ..." forState:MJRefreshFooterStateRefreshing];
[self.tableView.footer setTitle:@"No more data" forState:MJRefreshFooterStateNoMoreData];

// 设置字体
self.tableView.footer.font = [UIFont systemFontOfSize:17];

// 设置颜色
self.tableView.footer.textColor = [UIColor blueColor];

上拉刷新08-加载后隐藏

(上拉刷新08-加载后隐藏)

// 隐藏当前的上拉刷新控件
self.tableView.footer.hidden = YES;

UICollectionView01-上下拉刷新

(UICollectionView01-上下拉刷新)

// 添加传统的下拉刷新
[self.collectionView addLegendHeaderWithRefreshingBlock:^{
   // 进入刷新状态后会自动调用这个block
}];
// 添加传统的上拉刷新
[self.collectionView addLegendFooterWithRefreshingBlock:^{
   // 进入刷新状态后会自动调用这个block
}];

提醒

  • 本框架兼容的系统>=iOS6.0,iPhone\iPad横竖屏

期待

  • 如果在使用过程中遇到BUG,希望你能Issues我,谢谢(或者尝试下载最新的框架代码看看BUG修复没有)
  • 如果在使用过程中发现功能不够用,希望你能Issues我,我非常想为这个框架增加更多好用的功能,谢谢
  • 如果你想为MJRefresh输出代码,请拼命Pull Requests我
  • 一起携手打造天朝乃至世界最好用的刷新框架,做天朝程序员的骄傲