Swift版 仿京东app下拉刷新

原理:
无论是下拉刷新还是上拉加载更多,原理都是在内容 (tableview.addSubview :下拉刷新,tableview.tableFooterView:上拉加载更多),不能下拉或者上划时响应用户的触摸事件,在顶部或者底部显示一个刷新视图,在程序刷新操作完成后再隐藏掉。

以上内容仅供个人学习;

动画简单实现

  1. 普通状态 -->显示默认状态图片,
    2.下拉状态--->计算下拉过度点,及其范围点-->进行图片缩放
    3.刷新状态-->隐藏默认状态,显示动画
  • 当用户拖动tableView 而且没有松手
    • 当contentOffset.y > 过度值 显示正常 且当前状态为下拉中
    • 当contentOffset.y <= 过度值 下拉中 且当前的状态为正常
    • 当用户拖动tableView 而且松手了
    • 如果当前的状态为 下拉中 -->刷新中
    • 如果用户松手了 而且当前的状态为下拉中 才能进入刷新中

难点: 获取当前下拉的偏移量 contentOffset.y -->进行操作

// 得到scrollView 的变化
    override func observeValueForKeyPath(keyPath: String?, ofObject object: AnyObject?, change: [String : AnyObject]?, context: UnsafeMutablePointer) {
        
        getSHRefreshControlState(self.scrollView!.contentOffset.y)
    }

各位可根据自己的需求进行更新修改

Demo下载地址:https://github.com/baiGenZhengliu/SwiftDemo.git

Swift版 仿京东app下拉刷新_第1张图片
gif.gif

你可能感兴趣的:(Swift版 仿京东app下拉刷新)