基於Swift的iOS應用程序開發:使用表格顯示並控制數據(四):使用UIRefreshController實現下拉刷新

Swift中的UIRefreshController可以非常方便地實現下拉刷新功能。它其實屬於UITableViewController的代理。

我們可以在任意的UIViewController中使用它來實現下拉刷新,唯一需要注意的是,你的類需要繼承UITableViewController。

如果你不想繼承UITableViewController,那麼就必須實現UITableViewDelegate代理。

我寫了一個方法,來實現下拉刷新功能。這個方法可以直接拿去使用:

func initRefreshControl(){
    /*
     *  初始化控制器
     */
    self.refreshControl = UIRefreshControl()
        
    /*
     *  添加控制目標,並且在#selector中設置事件及調用的方法
     *  forControlEvents中設置的是用戶觸摸事件
     */
    self.refreshControl?.addTarget(self, action: #selector(refreshData), forControlEvents: UIControlEvents.ValueChanged)
        
    /*
     *  設置下拉出現的提示文字
     */
    self.refreshControl?.attributedTitle = NSAttributedString(string: "數據加載中...")
        
    /*
     *  將控制器加入到界面視圖中
     */
    self.tableViewOperationRecord.addSubview(self.refreshControl!)

}

然後再編寫一個方法,用來觸發下拉刷新後的事件即可:

func refreshData(){
    print("refresh!")
}


你可以在這個方法裏面做任何你想做的事情,比如說從服務器端獲取新的數據,然後重新繪製界面,等等


最後,千萬不要忘記結束下拉事件:

self.refreshControl?.endRefreshing()



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章