今天整理了一下之前写过的一个下拉刷新的小控件demo,已上传到github.
效果图如下 :
(目前水平较水,录制的gif居然是黑白的)
这个控件的作用就是下拉到一定程度会使控件状态改变,通过监听控件的UIControlEventValueChanged事件,去刷新tableView的数据.
下面说说怎么使用
代码实现如下:
导入头文件 "ARRefreshControl.h"
- (void)viewDidLoad {
[super viewDidLoad];
ARRefreshControl *refreshControl = [[ARRefreshControl alloc] init];
//设置控件的frame
refreshControl.frame = CGRectMake(0, -44, self.tableView.bounds.size.width, 44);
//使用全局变量记录此控件
self.arRefreshControl = refreshControl;
[self.tableView addSubview:refreshControl];
//监听控件的UIControlEventValueChanged事件
[refreshControl addTarget:self action:@selector(refresh) forControlEvents:(UIControlEventValueChanged)];
}
//实现refresh方法
- (void)refresh {
/**
这里实现tableView的刷新方法 可在异步请求网络数据回来调用下面两个方法
*/
[self.tableView reloadData];
//调用控件结束刷新的方法
[self.arRefreshControl endRefreshing];
}
使用起来还是很方便的. 中间的动画效果使用的是序列帧动画实现 可以改成自己的动画效果.生成序列帧动画的方法已经抽到分类中 可自行改掉
附上源码:
ARRefresControl