Swift版使用ThPullRefresh实现下拉上拉刷新数据
2016-01-27 08:52
609 查看
最近自己写了一个下拉加载最新,上拉加载更多的刷新控件。借鉴了其他优秀开源代码的实现效果比如MJRefresh和DGElasticPullRefresh。主要是为了学习别人的优秀思想。
如何使用:
Cocoapods 导入:pod 'ThPullRefresh',
在项目中 import 'ThPullRefresh'
手动导入:将'ThPullRefresh' 文件夹中的所有文件拽入项目中
head与foot基本效果的添加
具体代码如下:
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) }
要实现果冻效果
代码如下
几个有颜色的点可以忽略,那是开发用于调贝塞尔曲线的。
/* *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
以上就是本文的全部内容,希望对大家的学习有所帮助。
您可能感兴趣的文章:
相关文章推荐
- Apple Swift学习教程
- 介绍 Fedora 上的 Swift
- Swift中实现点击、双击、捏、旋转、拖动、划动、长按手势的类和方法介绍
- Swift编程中的泛型解析
- Swift中定义二维数组的方法及遍历方法示例
- 超好看的下拉刷新动画Android代码实现
- Android下拉刷新完全解析,教你如何一分钟实现下拉刷新功能(附源码)
- Android下拉刷新ListView――RTPullListView(demo)
- Android下拉刷新上拉加载更多左滑动删除
- 简单分析Swift语言的一些基本特征
- Swift与C语言指针结合使用实例
- Swift心得笔记之控制流
- APP中javascript+css3实现下拉刷新效果
- 用Swift构建一个简单的iOS邮件应用的方法
- 苹果公司推出的新编程语言Swift简介和入门教程
- Android实现上拉加载更多以及下拉刷新功能(ListView)
- Android笔记之:App列表之下拉刷新的使用
- 探讨Swift数组和字典
- Swift中的指针操作和使用详细介绍