由于项目用swift重构,swift当前刷新加载框架没有特别适合我的,所以我自己搭建了这么一个LIRefresh框架,纯swift封装,喜欢给个star。
1.调用刷新事件,如下所示:
self.tablview.li.header = NormalRefreshHeader.headerWithRefreshing(block: {[weak self] in
self?.loadMoreData()
})
self.tablview.li.footer = NormalRefreshFooter.footerWithRefreshing(block: {[weak self] in
self?.loadMoreData()
})

刷新调用header,加载调用footer
2.数据请求完毕不要忘记调用endRefreshing方法:
self?.tablview.li.header?.endRefreshing()
self?.tablview.li.footer?.endRefreshing()

结束刷新状态才能进行下次刷新
3.本库本着轻量化,没有过多的定制化设计,如果想要自定义刷新控件可以继承RefreshHeader或者RefreshFooter
1.重写state属性,根据不同状态写出动画或其他,具体状态的变化逻辑,RefreshHeader和RefreshFooter已经写好,不需要去管理,只要关注自己要改进的代码即可

2.重写init初始化方法,在这里修改刷新或加载控件的高度即可,也可修改加载的灵敏度,0.5代表当加载footer出来一半的时候就开始调用加载方法,如下图所示:

3.重写pullingPercent属性,这里面可以根据下拉或者上拉的百分比绘制想要实现的动画

我觉得这样自定义起来比较宽松没有局限性,可以根据大家公司的需求进行自定义刷新加载控件的样式,灵活多变,相对于提供很多的api来控制样式来说,本库这种方式也方便大家对刷新加载控件的理解,没准嫌弃我的库去自己写了也不一定,可以说本库可以节省大家工作量也可以给大家提供参考。
网友评论