Swift版應用ThPullRefresh完成下拉上拉刷新數據。本站提示廣大學習愛好者:(Swift版應用ThPullRefresh完成下拉上拉刷新數據)文章只能為提供參考,不一定能成為您想要的結果。以下是Swift版應用ThPullRefresh完成下拉上拉刷新數據正文
比來本身寫了一個下拉加載最新,上拉加載更多的刷新控件。自創了其他優良開源代碼的完成後果好比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
以上就是本文的全體內容,願望對年夜家的進修有所贊助。