swift版本的上拉、下拉刷新。
- Activity;(加载组件)
- Image;(图片)
- ImageAnimation;(序列动画)
- CircleLoading;(转圈动画)
- Activity;(加载组件)
- Image;(图片)
- ImageAnimation;(序列动画)
- Button;(按钮模式)
- None;(没有文本,即没有文字提示)
- Dynamic;(动态文本提示,即文字会随着拖拽来动态变化,如下拉刷新、松开立即刷新、正在加载数据、数据加载完成)
- Static;(静态文本提示,即文字一直都是一个状态,不会变化,如正在加载中)
所有的模式的基本UI属性都可以自定义
,包括背景色、高度、间距、文案、图片、序列图片动画、转圈动画的颜色值等;
- Normal;(正常状态)
- Refreshing;(正在刷新)
对于,要判断当前是否正在刷新,可以通过此状态来判断。
- Draging;(拖拽中)
- Release;(释放)
- Refreshing;(刷新中)
- EndRefresh;(刷新完成)
下载源文件,集成进工程文件里面;(后续支持pods)
/**
* 顶部刷新模式设置,目前支持四种模式: Activity,图片,序列动画,转圈动画
*/
houseListTableView?.headRefreshStyle = .CircleLoading
/**
* 底部刷新模式设置,目前支持四种模式: Activity,图片,序列动画,按钮模式
*/
houseListTableView?.footRefreshStyle = .Button
/**
* 以上模式,都支持单独文本模式设置,文本模式是指,在上面四种模式中是否支持文字显示,以及显示怎样的文字,三种模式:不显示文字,显示动态文字(即跟着拖拽的事件会自动更改文字文案(文字文案可以设置)),显示静态文字(文字一旦设置,不再改变(同样,文案可以设置))
*/
houseListTableView?.headRefreshTipLabelStyle = .None
/**
* 文案设置,CNRefreshProfile里面的文案,都可以通过这种方式来设置
*/
CNRefreshProfile.footButtonStyleTitle = "底部按钮加载"
tableView?.headRefresh { [unowned self] in
if self.houseListTableView?.refreshStatue == .Refreshing {
// todo
}
}
tableView?.footRefresh { [unowned self] in
if self.houseListTableView?.refreshStatue == .Refreshing {
// todo
}
}
tableView.endRefresh()
tableView.removeFootRefresh()
如有问题,欢迎指正。