IOS tableview下拉刷新上拉加载分页
2015-02-02 15:09
656 查看
http://code4app.com/ios/快速集成下拉上拉刷新/52326ce26803fabc46000000刷新没用用插件,加载使用的MJ老师的插件。
- (void)viewDidLoad{ [super viewDidLoad]; //获取数据 [self firstLoadRefresData]; //下拉刷新 self.refreshControl = [[UIRefreshControl alloc]init]; self.refreshControl.tintColor=[UIColor blueColor]; [self.refreshControl addTarget:self action:@selector(controlEventValueChanged:) forControlEvents:UIControlEventValueChanged]; // 集成上拉加载控件 [self setupRefresh]; }/** * 集成刷新控件 */ - (void)setupRefresh{ [self.tableView addFooterWithTarget:self action:@selector(footerRereshing)]; self.tableView.footerPullToRefreshText = @"上拉可以加载更多数据了"; self.tableView.footerReleaseToRefreshText = @"松开马上加载更多数据了"; self.tableView.footerRefreshingText = @"MJ哥正在帮你加载中,不客气";}- (void)footerRereshing{ // 1.添加假数据 if ([self.docs hasNextPage]) { [self setData:[[self.docs page]intValue]+1]; } // 2.2秒后刷新表格UI dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ // 刷新表格 [self.tableView reloadData]; // (最好在刷新表格后调用)调用endRefreshing可以结束刷新状态 [self.tableView footerEndRefreshing]; });} -(void)controlEventValueChanged:(id)sender{ if (self.refreshControl.refreshing) { self.refreshControl.attributedTitle=[[NSAttributedString alloc]initWithString:@"刷新中"]; [self performSelector:@selector(refreshData) withObject:nil afterDelay:0.5]; }}-(void)refreshData{ //请求数据 [self firstLoadRefresData]; //刷新表格 [self.tableView reloadData]; //完成刷新 [self.refreshControl endRefreshing]; self.refreshControl.attributedTitle=[[NSAttributedString alloc]initWithString:@"下拉刷新"];}使用AFNetworking库,取得数据。
-(void)setData:(int) p { NSString *string = [NSString stringWithFormat:@"%@p=%d&ps=10", BaseURLString,p]; NSURL *url = [NSURL URLWithString:string]; NSURLRequest *request = [NSURLRequest requestWithURL:url]; AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request]; operation.responseSerializer = [AFJSONResponseSerializer serializer]; [operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) { self.docs=(NSMutableDictionary *)responseObject; NSMutableArray *doclist=[[NSMutableArray alloc]initWithCapacity:10]; [doclist addObjectsFromArray:self.infos]; [doclist addObjectsFromArray:[self.docs info]]; self.infos=doclist; [self.tableView reloadData]; } failure:^(AFHTTPRequestOperation *operation, NSError *error) { UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Error Retrieving Weather" message:[error localizedDescription] delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil]; [alertView show]; }]; [operation start];}
相关文章推荐
- iOS不得姐项目--推荐关注模块(一个控制器控制两个tableView),数据重复请求的问题,分页数据的加载,上拉下拉刷新(MJRefresh)
- IOS MJRefresh给tableview下拉刷新上拉加载分页
- iOS中tableView的下拉刷新与上拉加载(一)
- IOS控件 Tableview 下拉刷新,加载数据
- iOS中tableView的下拉刷新与上拉加载(二)
- IOS控件 Tableview 下拉刷新,加载数据
- ios tableView分页加载-sqlite
- IOS控件 Tableview 下拉刷新,加载数据
- iOS, PullTableView实现下拉刷新,上拉加载数据
- ios UITableView分页加载
- IOS开发UI展示之UITableView ──分页加载更多
- tableView下拉刷新,上拉加载简单应用
- iOS开发中如何解决TableView中图片延时加载
- ios tableView那些事 (十九) UITableView 加载动态cell
- IOS TableView远程图片加载笔记
- iOS开发笔记--异步加载图片在TableView中的应用
- IOS开发---菜鸟学习之路--(九)-利用PullingRefreshTableView实现下拉刷新
- IOS之tableview 实现动态加载图片
- ios tableview 那些事(二十二) 使cell高度可变的tableview加载速度更快
- IOS学习日志---1:TableView下拉刷新以及各种失败问题总结