今天整理了一下之前寫過的一個下拉刷新的小控件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