下拉刷新当前最流行的框架是MJRefresh,该框架也做了开源,里面也有自定义demo。我们可以通过继承实现一样的效果。
自定义MJRefresh:“什么值得买”的下拉刷新实现 - 简书 这篇文章可以看下,写的666。我也主要是根据大神思路膜拜一波。
先看下MJRefresh的结构图,
如果改动的不大,可以根据最后面的调整位置,实现继承。如果刷新布局改动较大,可以继承MJRefreshHeader 与MJRefreshFooter ,实现五个方法即可。
一、prepare。在这里做一些初始化配置(比如添加子控件) 这个方法里实现添加子控件的方法即可,设置frame在第二步。
二、placeSubviews。在这里设置子控件的位置和尺寸,之所以在这里进行布局,是因为父类的这个方法 在layoutsubviews里实现。所以布局的代码在这里进行。所以在外面自定义的view 在这里是无法引用的。需要将添加子视图与布局代码隔离开来。
三、监听scrollView的contentOffset,contentSize,拖拽状态等改变
四、setState 。监听控件的刷新状态
五、setPullingPercent。监听拖拽比例(控件被拖出来的比例)
效果和上述文章效果是一样的。里面解释很详细。
关于怎么获取素材,手里连接itunes,
把应用拖到桌面,改后缀为zip,就能获取你需要的素材。
示例demo地址:自定义MJRefresh