1. 准备工作
使用cocoapod
导入MJRefresh
platform :ios, '8.0'
use_frameworks!
target 'YourTarget' do
pod 'MJRefresh'
end
2. �在要使用的ViewController
中导入
import MJRefresh
3. 简单的使用
下拉刷新
table.mj_header = MJRefreshNormalHeader() {
//TODO: 重新从服务器下载数据
...
//reload
self.table.reloadData()
self.table.mj_header.endRefreshing()
}
上拉加载
table.mj_footer = MJRefreshBackNormalFooter() {
//TODO: 重新从服务器下载数据
...
//reload
self.table.reloadData()
self.table.mj_footer.endRefreshing()
//如果加载完成了,调用下面的
//self.table.mj_footer.endRefreshingWithNoMoreData()
//调用了上面的以后,需要重置的话,调用
//self.table.mj_footer.resetNoMoreData()
}
使用上面的可以基本上满足大部分要求了,如果需要一些自定义的话,就不能用闭包的形式调用了。
4. 稍微高级点的�使用
e.g. 去掉刷新的时间
let mjheader = MJRefreshNormalHeader(refreshingTarget: self, refreshingAction: #selector(loadData))
mjheader?.lastUpdatedTimeLabel.isHidden = true
table.mj_header = mjheader
loadData:
//TODO: 重新从服务器下载数据
...
//reload
self.table.reloadData()
self.table.mj_header.endRefreshing()