Swift版使用ThPullRefresh實現(xiàn)下拉上拉刷新數(shù)據(jù)
最近自己寫了一個下拉加載最新,上拉加載更多的刷新控件。借鑒了其他優(yōu)秀開源代碼的實現(xiàn)效果比如MJRefresh和DGElasticPullRefresh。主要是為了學習別人的優(yōu)秀思想。
如何使用:
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)
}
要實現(xiàn)果凍效果

代碼如下
幾個有顏色的點可以忽略,那是開發(fā)用于調(diào)貝塞爾曲線的。
/* *bgColor 背景顏色 *loadingColor 加載的顏色 */ public func addBounceHeadRefresh(target:AnyObject?,bgColor:UIColor,loadingColor:UIColor,action : Selector); //實現(xiàn)如下 self.tableView.addBounceHeadRefresh(self,bgColor:UIColor.orangeColor(),loadingColor:UIColor.blueColor(), action: "loadNewData")
停止頭部刷新和底部刷新
self.tableView.tableHeadStopRefreshing() self.tableView.tableFootStopRefreshing
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助。
相關文章
SwiftUI?List在MacOS中的性能優(yōu)化示例
這篇文章主要為大家介紹了SwiftUI?List在MacOS中的性能優(yōu)化示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-09-09
Objective-C中的block與Swift中的尾隨閉包使用教程
Block是OC中的閉包,他和swift中的閉包有什么區(qū)別呢?下面這篇文章就來給大家介紹關于Objective-C中的block與Swift中的尾隨閉包使用的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下。2017-12-12
Swift仿選擇電影票的效果并實現(xiàn)無限/自動輪播的方法
這篇文章主要給大家介紹了關于Swift仿選擇電影票的效果并實現(xiàn)無限/自動輪播的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2018-08-08

