Swift版 仿京东app下拉刷新

作者: 百舸争流111 | 来源:发表于2016-07-28 12:23 被阅读475次

    原理:
    无论是下拉刷新还是上拉加载更多,原理都是在内容 (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<Void>) {
            
            getSHRefreshControlState(self.scrollView!.contentOffset.y)
        }
    

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

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

    gif.gif

    相关文章

      网友评论

        本文标题:Swift版 仿京东app下拉刷新

        本文链接:https://www.haomeiwen.com/subject/ftzojttx.html