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

下面贴出主要代码

iOS 自定义刷新/加载控件_第1张图片
附图


iOS 自定义刷新/加载控件_第2张图片
附图2


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

你可能感兴趣的:(iOS 自定义刷新/加载控件)