下拉刷新通过UIControl来设置
拥有三种状态:显示下拉刷新状态,显示松手就刷新状态,显示正在刷新状态
每种状态显示的内容都不一样,内容可通过自身设置的UILabel来显示
刷新时可令自己父控件的偏移量下移一部分一段时间,自身在此期间显示需要显示的内容
显示的内容通过可通过所在父类的偏移量来判断
所在父类可通过willMoveToSuperview来获得
通过KVO监听父控件dragging状态下的偏移量,来判断是哪种状态
而后通过改变自身的偏移量来显示提示目前是哪种状态
普通状态的时候令自己偏移量归回初始值
刷新状态时显示一下正在刷新
刷新结束时令自己的状态变成普通状态
而后通过UIControl来发送一个通知:sendActionsForControlEvents(.ValueChanged)给父类
父类通过给其注册一个Target接收通知,而后执行方法刷新数据
在获取到数据时可回传一个数值,数值为新刷新的数量
而后将新刷新的数量通过UILabel来显示
上啦加载时,通过判断是否滚动到最后一行Cell
如果滚动到最后一行Cell就显示footer的动画效果,footer为UIActivityIndicatorView(菊花)
而后去加载服务器的数据,通过所要求的接口参数
是否滚动到最后一行Cell可通过代理方法forRowAtIndexPath,将要显示Cell这个方法来判断
通过方法里的Row与行数的比较来判断将要显示的是否是最后一行Cell