源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Swift版使用ThPullRefresh实现下拉上拉刷新数据

  • 时间:2021-11-14 17:40 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Swift版使用ThPullRefresh实现下拉上拉刷新数据
最近自己写了一个下拉加载最新,上拉加载更多的刷新控件。借鉴了其他优秀开源代码的实现效果比如MJRefresh和DGElasticPullRefresh。主要是为了学习别人的优秀思想。 [b]如何使用:[/b]   Cocoapods 导入:pod 'ThPullRefresh',   在项目中 import 'ThPullRefresh'   手动导入:将'ThPullRefresh' 文件夹中的所有文件拽入项目中    head与foot基本效果的添加   [img]http://files.jb51.net/file_images/article/201601/201612785026230.gif?201602785036[/img] 具体代码如下:
  override func viewDidLoad() {
    super.viewDidLoad()
    self.tableView.registerClass(UITableViewCell.classForCoder(), forCellReuseIdentifier: "tableViewCell")
    self.tableView.rowHeight = UITableViewAutomaticDimension
    self.tableView.estimatedRowHeight = 44
    self.tableView.tableFooterView = UIView()
//    self.tableView.addHeadRefresh(self) { () -> () in
//      self.loadNewData()
//    }
    self.tableView.addHeadRefresh(self, action: "loadNewData")
 
    self.tableView.head?.hideTimeLabel=true
    self.tableView.addFootRefresh(self, action: "loadMoreData")
  }
 
 
  func loadNewData(){
    //延时模拟刷新
    self.index = 0
    DeLayTime(2.0, closure: { () -> () in
      self.dataArr.removeAllObjects()
      for (var i = 0 ;i<5;i++){
        let str = "最新5个cell,第\(self.index++)个"
        self.dataArr.addObject(str)
      }
      self.tableView.reloadData()
      self.tableView .tableHeadStopRefreshing()
    })
     
  }
DelayTime是一个方法的宏
func DeLayTime(x:Double,closure:()->()){
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, Int64(x * Double(NSEC_PER_SEC))), dispatch_get_main_queue(), closure)
}
要实现果冻效果   [img]http://files.jb51.net/file_images/article/201601/201612785111613.gif?201602785119[/img] 代码如下 几个有颜色的点可以忽略,那是开发用于调贝塞尔曲线的。
  /*
  *bgColor 背景颜色
  *loadingColor 加载的颜色
  */
  public func addBounceHeadRefresh(target:AnyObject?,bgColor:UIColor,loadingColor:UIColor,action : Selector);
 
//实现如下
self.tableView.addBounceHeadRefresh(self,bgColor:UIColor.orangeColor(),loadingColor:UIColor.blueColor(), action: "loadNewData")
 停止头部刷新和底部刷新
self.tableView.tableHeadStopRefreshing()
self.tableView.tableFootStopRefreshing
以上就是本文的全部内容,希望对大家的学习有所帮助。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部