SVPullToRefresh的用法
来源:互联网 发布:网络强国与青年运动 编辑:程序博客网 时间:2024/05/20 01:44
1.导入下载的第三方库
2.导入头文件
在需要的类里导入这一个头文件就能,同时使用下拉刷新,上拉加载
#import "SVPullToRefresh.h"
3.下拉刷新
[_tableView addPullToRefreshWithActionHandler:^{ //数据的加载,和表的刷新的代码。 //全部需要我们自己写 // [self refreshTableView]; //3秒后调用refreshTableView方法 [self performSelector:@selector(refreshTableView) withObject:nil afterDelay:1.0]; // //风火轮的动画还需要我们手动的停止 // [_tableView.pullToRefreshView stopAnimating]; }];4.上拉加载
[_tableView addInfiniteScrollingWithActionHandler:^{ [self performSelector:@selector(insertDate) withObject:nil afterDelay:3.0]; }];5.自定义显示的文字
[_tableView.pullToRefreshView setTitle:@"下拉以刷新" forState:SVPullToRefreshStateTriggered]; [_tableView.pullToRefreshView setTitle:@"刷新完了呀" forState:SVPullToRefreshStateStopped]; [_tableView.pullToRefreshView setTitle:@"不要命的加载中..." forState:SVPullToRefreshStateLoading];
6.自定义刷新时的动画
UIView* view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 200, 40)]; view.backgroundColor = [UIColor blueColor]; [UIView beginAnimations:nil context:nil]; [UIView setAnimationDuration:3]; view.alpha = 0.5 ; [UIView commitAnimations]; [_tableView.pullToRefreshView setCustomView:view forState:SVPullToRefreshStateAll];
当然可以把view换成imageView等控件实现动画效果
7.实现刷新和加载的两个方法
- (void)refreshTableView { } - (void)insertDate { }
三.注意事项
iOS7和我们的下拉刷新库有冲突,因为都是对contentOffset进行操作,解决冲突,有两种做法
方法1:禁用navgationbar的半透明效果,还原至iOS6中的效果
self.navigationController.navigationBar.translucent = NO;
方法2:禁止系统自己修改contentOffset,然后修改tableView的frame
automaticallyAdjustsScrollViewInsets 这个属性,只有iOS7以后才能用,所以如果要兼容iOS6,在iOS6运行,我们需要判断一下能不能使用这个属性或者当前的系统版本
最终代码为:if ([[UIDevice currentDevice].systemVersion floatValue] >= 7.0)
{ self.automaticallyAdjustsScrollViewInsets = NO; _tableView.frame = CGRectMake(0, 64, 320, self.view.bounds.size.height - 64); };
四.另外两个不错的下拉刷新的第三方
这两个集成和使用也都比较方便,你可以按需选择
1.MJRefresh http://code4app.com/ios/快速集成下拉上拉刷新/52326ce26803fabc46000000
2.JHRefresh https://github.com/Jiahai/JHRefresh
0 0
- SVPullToRefresh的用法
- [IOS]SVPullToRefresh的使用
- SVPullToRefresh 同时进行上拉和下拉刷新的问题
- 谈谈SVPullToRefresh
- SVPullToRefresh问题解决
- 下拉刷新 SVPullToRefresh 的使用及两个比较优秀的第三方下拉刷新
- 使用第三方Refresh控件都与遇到的问题 --SVPullToRefresh
- SVPullToRefresh深入理解
- SVPullToRefresh深入理解
- iOS中的下拉刷新SVPullToRefresh
- iOS中的下拉刷新SVPullToRefresh
- iOS中的下拉刷新SVPullToRefresh
- iOS中的下拉刷新SVPullToRefresh
- SVPullToRefresh 下拉刷新导航栏位置错误
- 使用SVPullToRefresh 报错 需要注意 以及一些刷新方法
- 使用开源库 SVPullToRefresh 实现上拉加载下拉刷新
- 使用开源库 SVPullToRefresh 实现上拉加载下拉刷新
- SVPullToRefresh问题解决 同时进行上拉和下拉刷新
- MyBatis/Ibatis中#和$的区别
- LATEX保护视力背景色设置
- hihoCoder 1283: hiho密码
- 《深入理解mybatis原理》 MyBatis的二级缓存的设计原理
- 实例说明TCP和UDP有什么区别
- SVPullToRefresh的用法
- Mysql学习笔记之常用数据类型
- 【IPC】Posix共享内存区与mmap内存映射
- 根据数x调整链表
- 共同学习Java源码--常用数据类型--String(六)
- 素数环
- Seven More Languages in Seven Weeks (读书笔记):Julia
- springMVC4(1)角色解析与入门配置实例
- 关于大型网站技术演进的思考(十九)--网站静态化处理—web前端优化—上(11)