MJRefresh实现原理
大家常用的UITableView UIClollectionView上拉 下拉加载数据很常见。
以下分析MJRefresh实现方法
首先看下,框架是如何使用的,只需如下2行代码即可实现下拉加载数据
self.collectionView.header = [MJRefreshNormalHeaderheaderWithRefreshingTarget:selfrefreshingAction:@selector(loadNewData)];
[self.collectionView.headerbeginRefreshing];
对此肯定很多同学不理解,2行代码是怎么实现的呢,它是怎么控collectionView下拉,松手后调用loadNewData这个方法呢?
首先请看UITableView UIClollectionView是继承自UIScrollView的,他们是没有header这个属性的。(header是自定义的一个UIView)
要想给即有的类动态增加一个属性当然要写个分类用到运行时了,请看如下代码:
.h文件