MJRefresh刷新第三方库
MJRefresh刷新第三方库
1.导入MJRefresh刷新第三方库
2.导入头文件
#import "MJRefresh.h"
3.代码的实现(基于大麦网的实例)
-(void)mjrefresh{ [_tableView addHeaderWithTarget:self action:@selector(refreshact)]; [_tableView addFooterWithTarget:self action:@selector(refreshact)]; // [_tableView footerBeginRefreshing]; } -(void)refreshact{ [self satarDown]; [_tableView reloadData]; [_tableView headerEndRefreshing]; [_tableView footerEndRefreshing]; } -(void)satarDown{ NSString *urlStr = @"http://mapi.damai.cn/proj/HotProj.aspx?CityId=0&source=10099&version=30602"; _dataArray = [[NSMutableArray alloc]init]; _request = [[HttpRequest alloc]init]; [_request requestWithUrl:urlStr target:self action:@selector(dealDowloadFinish:)]; [_dataArray removeAllObjects]; } -(void)dealDowloadFinish:(HttpRequest *)request{ NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:request.data options:NSJSONReadingMutableContainers error:nil]; NSArray *arr = dic[@"list"]; for (NSDictionary *appDic in arr) { AppModel *model = [[AppModel alloc]init]; model.Name = appDic[@"Name"]; model.Summary = appDic[@"Summary"]; model.ShowTime = appDic[@"ShowTime"]; model.VenName = appDic[@"VenName"]; model.cityname = appDic[@"cityname"]; model.ProjectID = appDic[@"ProjectID"]; model.priceName = appDic[@"priceName"]; [_dataArray addObject:model]; } // 结束刷新并且刷新表格 [_tableView refreshFinished]; [_tableView loadMoreFinished]; [_tableView reloadData]; }
参照的代码:
//开始刷新自定义方法 - (void)setupRefresh { //下拉刷新 [_tableView addHeaderWithTarget:self action:@selector(headerRereshing) dateKey:@"table"]; [_tableView headerBeginRefreshing]; // 2.上拉加载更多(进入刷新状态就会调用self的footerRereshing) [_tableView addFooterWithTarget:self action:@selector(footerRereshing)]; //一些设置 // 设置文字(也可以不设置,默认的文字在MJRefreshConst中修改) _tableView.headerPullToRefreshText = @"下拉可以刷新了"; _tableView.headerReleaseToRefreshText = @"松开马上刷新了"; _tableView.headerRefreshingText = @"刷新中。。。"; _tableView.footerPullToRefreshText = @"上拉可以加载更多数据了"; _tableView.footerReleaseToRefreshText = @"松开马上加载更多数据了"; _tableView.footerRefreshingText = @"加载中。。。"; } //下拉刷新 - (void)headerRereshing { //一般这些个里边是网络请求,然后会有延迟,不会像现在刷新这么快 // 1.添加假数据 //[_tableViewData insertObject:@"这是刷新的数据" atIndex:0]; [_tableView reloadData]; //2.结束刷新 [_tableView headerEndRefreshing]; } //上拉加载 - (void)footerRereshing { //这个一般是提取缓存的数据 // 1.添加假数据 //[_tableViewData insertObject:@"这是加载以前的数据" atIndex://[_tableViewData count]]; [_tableView reloadData]; //2,结束刷新 [_tableView footerEndRefreshing]; }
实例下载:下载