MJRefresh—快速集成下拉上拉刷新
来源:互联网 发布:asynchttp post json 编辑:程序博客网 时间:2024/05/01 13:06
MJRefresh介绍:
仅需一行代码就可以为UITableView或者CollectionView加上下拉刷新或者上拉刷新功能。可以自定义上下拉刷新的文字说明。
示例代码:
#import "ViewController.h"
//导入主头文件
#import "MJRefresh.h"
@interface ViewController ()
{
UITableView* tableView;
}
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height) style:UITableViewStylePlain];
[self.view addSubview:tableView];
//下拉刷新
tableView.mj_header= [MJRefreshNormalHeader headerWithRefreshingBlock:^{
//模拟延迟加载数据,因此2秒后才调用(真实开发中,可以移除这段gcd代码)
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
//结束刷新
[tableView.mj_header endRefreshing];
});
}];
//马上进入刷新状态
[tableView.mj_header beginRefreshing];
//设置自动切换透明度(在导航栏下面自动隐藏)
tableView.mj_header.automaticallyChangeAlpha = YES;
//上拉刷新
tableView.mj_footer = [MJRefreshBackNormalFooter footerWithRefreshingBlock:^{
//模拟延迟加载数据,因此2秒后才调用(真实开发中,可以移除这段gcd代码)
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
// 结束刷新
[tableView.mj_footer endRefreshing];
});
}];
//下拉刷新 自定义文字
// [self customPullDownToRefresh];
//上拉刷新 自定义文字
// [self customPullUpToRefresh];
}
#pragma mark - 下拉刷新 自定义文字
-(void)customPullDownToRefresh{
// 设置回调(一旦进入刷新状态,就调用target的action,也就是调用self的loadNewData方法)
MJRefreshNormalHeader *header = [MJRefreshNormalHeader headerWithRefreshingTarget:self refreshingAction:@selector(loadNewData)];
// 设置文字
[header setTitle:@"下拉可以刷新" forState:MJRefreshStateIdle];
[header setTitle:@"松开立即刷新" forState:MJRefreshStatePulling];
[header setTitle:@"正在帮你刷新 ..." forState:MJRefreshStateRefreshing];
// 设置字体
header.stateLabel.font = [UIFont systemFontOfSize:15];
header.lastUpdatedTimeLabel.font = [UIFont systemFontOfSize:13];
// 设置颜色
header.stateLabel.textColor = [UIColor grayColor];
header.lastUpdatedTimeLabel.textColor = [UIColor grayColor];
// 马上进入刷新状态
[header beginRefreshing];
//模拟延迟加载数据,因此2秒后才调用(真实开发中,可以移除这段gcd代码)
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
//结束刷新
[tableView.mj_header endRefreshing];
});
// 设置刷新控件
tableView.mj_header = header;
//设置自动切换透明度(在导航栏下面自动隐藏)
tableView.mj_header.automaticallyChangeAlpha = YES;
}
-(void)loadNewData{
//模拟延迟加载数据,因此2秒后才调用(真实开发中,可以移除这段gcd代码)
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
//结束刷新
[tableView.mj_header endRefreshing];
});
}
#pragma mark - 上拉刷新 自定义文字
-(void)customPullUpToRefresh{
// 设置回调(一旦进入刷新状态,就调用target的action,也就是调用self的loadMoreData方法)
MJRefreshBackNormalFooter *footer = [MJRefreshBackNormalFooter footerWithRefreshingTarget:self refreshingAction:@selector(loadMoreData)];
// 设置文字
[footer setTitle:@"上拉可以刷新" forState:MJRefreshStateIdle];
[footer setTitle:@"松开立即刷新" forState:MJRefreshStatePulling];
[footer setTitle:@"正在帮你刷新 ..." forState:MJRefreshStateRefreshing];
[footer setTitle:@"没有更多数据" forState:MJRefreshStateNoMoreData];
// 设置字体
footer.stateLabel.font = [UIFont systemFontOfSize:17];
// 设置颜色
footer.stateLabel.textColor = [UIColor grayColor];
// 设置footer
tableView.mj_footer = footer;
}
-(void)loadMoreData{
//模拟延迟加载数据,因此2秒后才调用(真实开发中,可以移除这段gcd代码)
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
//结束刷新
[tableView.mj_footer endRefreshing];
});
}
@end
- MJRefresh—快速集成下拉上拉刷新
- 使用MJRefresh快速集成上拉刷新及下拉刷新
- iOS 下拉刷新 上拉刷新 MJRefresh
- 快速集成下拉上拉刷新demo
- MJRefresh类------>下拉刷新,上拉加载
- 利用MJRefresh下拉刷新上拉加载
- MJRefresh下拉刷新,上拉加载
- 71.快速集成下拉刷新--MJRefresh
- UITableView 上拉刷新和下拉刷新(使用MJRefresh)
- 使用MJRefresh给表格添加上拉刷新,下拉刷新
- Swift快速集成下拉刷新和上拉加载更多
- 快速集成Android实现下拉刷新上拉加载更多
- iOS开发-MJRefresh 上下拉刷新快速集成
- 上拉刷新,下拉加载(使用MJRefresh)
- 使用MJRefresh实现上拉加载,下拉刷新功能!!
- iOS 上拉加载,下拉刷新,本人使用MJRefresh
- Swift-MJRefresh下拉刷新及上拉加载实践
- iOS-上拉刷新下拉加载 新版MJRefresh和EGOTableViewPullRefresh
- 个人笔记:linux基本操作-进阶操作
- 初始化 State
- Android.mk添加大量.cpp 免除麻烦,只需添加
- [时间管理]TED-如何掌控你的时间
- Nginx配置基础-rewrite
- MJRefresh—快速集成下拉上拉刷新
- 15 个必须知道的 Chrome 开发工具技巧
- 浅用HTML编辑器ueditor
- Qt Creator快捷键
- 不同场景下 MySQL 的迁移方案
- java正则表达式
- amh面板下安装piwik
- 1.Flume概念,功能,架构
- hdu1035