Swift版使用ThPullRefresh實(shí)現(xiàn)下拉上拉刷新數(shù)據(jù)
最近自己寫了一個(gè)下拉加載最新,上拉加載更多的刷新控件。借鑒了其他優(yōu)秀開源代碼的實(shí)現(xiàn)效果比如MJRefresh和DGElasticPullRefresh。主要是為了學(xué)習(xí)別人的優(yōu)秀思想。
如何使用:
Cocoapods 導(dǎo)入:pod 'ThPullRefresh',
在項(xiàng)目中 import 'ThPullRefresh'
手動(dòng)導(dǎo)入:將'ThPullRefresh' 文件夾中的所有文件拽入項(xiàng)目中
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(){ //延時(shí)模擬刷新 self.index = 0 DeLayTime(2.0, closure: { () -> () in self.dataArr.removeAllObjects() for (var i = 0 ;i<5;i++){ let str = "最新5個(gè)cell,第\(self.index++)個(gè)" self.dataArr.addObject(str) } self.tableView.reloadData() self.tableView .tableHeadStopRefreshing() }) }
DelayTime是一個(gè)方法的宏
func DeLayTime(x:Double,closure:()->()){ dispatch_after(dispatch_time(DISPATCH_TIME_NOW, Int64(x * Double(NSEC_PER_SEC))), dispatch_get_main_queue(), closure) }
要實(shí)現(xiàn)果凍效果
代碼如下
幾個(gè)有顏色的點(diǎn)可以忽略,那是開發(fā)用于調(diào)貝塞爾曲線的。
/* *bgColor 背景顏色 *loadingColor 加載的顏色 */ public func addBounceHeadRefresh(target:AnyObject?,bgColor:UIColor,loadingColor:UIColor,action : Selector); //實(shí)現(xiàn)如下 self.tableView.addBounceHeadRefresh(self,bgColor:UIColor.orangeColor(),loadingColor:UIColor.blueColor(), action: "loadNewData")
停止頭部刷新和底部刷新
self.tableView.tableHeadStopRefreshing() self.tableView.tableFootStopRefreshing
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助。
相關(guān)文章
詳解swift中xcworkspace多項(xiàng)目管理
給大家詳細(xì)講解了IOS開發(fā)中swift語(yǔ)言xcworkspace多項(xiàng)目管理的方法和介紹,一起參考一下。2017-11-11用SwiftUI實(shí)現(xiàn)3D Scroll滾動(dòng)效果的實(shí)現(xiàn)代碼
這篇文章主要介紹了用SwiftUI實(shí)現(xiàn)3D Scroll效果的實(shí)現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)2020-04-04Swift中的可選項(xiàng)Optional解包方式實(shí)現(xiàn)原理
這篇文章主要為大家介紹了Swift中的可選項(xiàng)Optional解包方式實(shí)現(xiàn)原理示例分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03