iOS 自定义刷新/加载控件

一直以来都是用的第三方的刷新和加载,或者直接用系统的下拉刷新外带底部加载按钮。没有自己定义刷新和加载。不管是为了现在这个工程会改变刷新和加载时的样式,还是在以后别的工程出现的新的样式。考虑到应该去写一些自己可以用的东西。第三方类库可以省去很多事情,但是有时候我们没了自己的一些思想,所以我们需要去思考,去观察,去学习,去借鉴。

了解UIScrollView的contentOffset、contentInset

了解UIScrollView的tracking、dragging、decelerating

主要是判断ScrollView的contentOffset,根据contentOffset来设定scrollView的contentInset

判断scrollView.contentOffset.y的值进行frame的处理。根据dragging、decelerating的状态进行UI的展示和调整,同时在不同状态下可以delegate或者block传递scrollView做相应的事件。

主要状态:1、准备刷新-scrollView.decelerating为NO和scrollView.dragging为YES,scrollView.contentOffset.y的值处于小于(下拉)/大于(上拉)设定的Inset值

2、开始刷新-scrollView.decelerating为NO和scrollView.dragging为YES,scrollView.contentOffset.y处于小于(上拉)/大于(下拉)设定的Inset的值

3、进入刷新--scrollView.decelerating为YES和scrollView.dragging为NO,scrollView.contentOffset.y处于小于(上拉)/大于(下拉)设定的Inset的值

在这三种状态中我们可以进行RefreshView的展示并处理UI或者进行Animation

下面贴出主要代码

附图


附图2


其实这个很简单,就是自己写的自己可以随时更改,自己可以控制,并且可以吧HeaderView和FooterView自定义

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

相关阅读更多精彩内容

友情链接更多精彩内容