注意这个下载一定要到github上下载,不要到code4app上下载然后用里面的库文件,我在code4app上下载 缺少文件:MJRefreshBaseViewDelegate
github下载地址:
https://github.com/151283250/MJRefresh/blob/master/MJRefresh.h
有疑问和建议请评论,先谢谢了。
@导入类
1.将MJRefresh文件夹整个导入所需的工程中。(支持ARC,MRC工程要注意设置)
2.文件夹中的MJRefresh.bundle—>[email protected] 图片可自行替换,这个会在刷新过程中显示。
3.可以在MJRefreshConst.h和MJRefreshConst.m文件中自定义显示的文字内容和文字颜色。
4.只要你的view能够滚动,就能集成这个控件,比如UIScrollView、UITableView、UICollectionView
5 导入头文件 #import "MJRefresh.h"
@实现
MJ大神提供了代理协议方法<MJRefreshBaseViewDelegate>和Block方法,大家随便选一种实现就行
下面给出代理协议方法实现的主要代码:
主要实现:上拉加载10条新闻,每次都是显示在最前面;下拉加载10条新闻,每次都是显示在已有新闻下面
@自动刷新:调用beginRefreshing可以自动进入下拉刷新状态
- #import "NewsListViewController.h"
- #import "HMTMyCustomNetRequest.h"
- #import "NewsItem.h"
- #import "MJRefresh.h"
- @interface NewsListViewController () <MJRefreshBaseViewDelegate>
- {
- HMTMyCustomNetRequest * _request;
- MJRefreshHeaderView * _header;
- MJRefreshFooterView * _footer;
- NSUInteger number;
- }
- @property (nonatomic,retain)NSMutableArray * newDataArray;
- @property (nonatomic,retain)NSMutableArray * oldDataArray;
- @property (nonatomic,copy)NSString * dataString;
- @end
- @implementation NewsListViewController
- - (void)dealloc
- {
- [_header release];
- [_footer release];
- RELEASE_SAFELY(_dataString);
- RELEASE_SAFELY(_newDataArray);
- RELEASE_SAFELY(_oldDataArray);
- //取消网络请求
- [_request cancelNSURLConnection];
- _request = nil;
- [super dealloc];
- }
- - (id)initWithStyle:(UITableViewStyle)style
- {
- self = [super initWithStyle:style];
- if (self) {
- // Custom initialization
- }
- return self;
- }
- - (void)viewDidLoad
- {
- [super viewDidLoad];
- number = 0;
- #pragma mark 从顶部往下刷新------>下拉刷新