IOS tableview下拉刷新上拉加载分页
来源:互联网 发布:ios tableview优化 编辑:程序博客网 时间:2024/06/03 20:24
使用AFNetworking库,取得数据。- (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:@"下拉刷新"];
}
-(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下拉刷新上拉加载分页
- IOS MJRefresh给tableview下拉刷新上拉加载分页
- tableView 上拉刷新/下拉加载
- 分页, 上拉刷新、下拉加载。
- IOS tableView下拉刷新,上拉刷新(LOW)
- iOS中tableView的下拉刷新与上拉加载(一)
- iOS中tableView的下拉刷新与上拉加载(二)
- iOS开发 - 让tableView不能下拉刷新,可以上拉加载
- ios 上拉加载下拉刷新Dome
- ios 下拉刷新上拉加载集成。
- iOS 上拉加载和下拉刷新
- iOS 集成下拉刷新上拉加载
- iOS:上拉刷新,下拉加载
- iOS 开发:上拉加载,下拉刷新
- ios 上拉加载 下拉刷新
- iOS 上拉刷新 下拉加载
- tableView下拉刷新,上拉加载简单应用
- tableView下拉刷新和上拉加载的原理
- java工程生成jar,配置文件放在jar外面,读写配置文件
- IOS开发初学
- nginx+tomcat+session共享
- IOS学习2
- 工控网络安全性测试解决方案
- IOS tableview下拉刷新上拉加载分页
- Linux Glibc库严重安全漏洞检测与修复方案
- IOS tableview点击跳转
- 推荐IOS开发的好资源
- 隐藏navigationController
- iOS同步请求
- IOS 按钮字体颜色设置
- tableview 刷新后 显示到第一行
- layoutSubviews总结