iOS轻量级下拉刷新,上拉加载

追加:iOS11和iPhoneX已适配,由于iOS11中UITableView默认开启高度预估(行高、区头和区尾),由此引起的页面回弹等现象,关闭高度预估即可解决,控件内部已做调整,无需更改代码,替换新版代码即可解决。 --2017/10/11

最近项目中需要自定义的刷新动画,所以研究了下MJRefresh的实现原理,确实非常巧妙。
下面说一下mj的实现原理:
首先,在UITableView或者UICollectionView的最上方和最下方各放置一个刷新的控件<mj_header和mj_footer>;
然后,实现对UITableView或者UICollectionView的监听,主要使用KVO,监听三个属性,contentOffset,contentSize和滑动手势的状态改变;
最后,根据监听到的变化,改变刷新控件的显示。

剩下的就是一些细节的处理,这里有一个我写好的demo,感兴趣的同学可以下载看一下:https://github.com/wangzhaomeng/LLRefresh

效果图:

LLRefresh.png

觉得好,请给个star,谢谢!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容