下拉刷新的視圖

此次介紹一個下拉刷新的視圖函數

//第三方開源庫  封裝了下拉刷新的視圖(把它加到UITableView上,會隨着拖拽tableview發生不一樣的變化)學習

 

 

下拉的刷新是利用了一個第三方的開源庫 進去看了一下發現沒有看懂,這才以爲原來還須要更多的學習,言歸正傳,下邊開始記錄學習的過程。spa

首先導入第三方開源庫,這個文件我放在了園內的文件里名字叫day14source.zip 在這個第三方開源庫裏 有它本身規定的圖片用來顯示下拉的時候的圖片變化代理

在實現這個下拉實現的前提是:必須得先建一個可以正常運行的tableView視圖,而後再這個視圖的基礎之上添加代碼。code

 

一、在頭文件上添加第三方頭文件  並封裝協議對象

#import "EGORefreshTableHeaderView.h"blog

EGORefreshTableHeaderDelegate繼承

在這個下拉視圖的代碼中 有下拉tableview 而後讓下拉視圖產生響應,在這個過程當中會有scrowllview的代理響應(tableView是一個特殊的scrollView)圖片

2.聲明一個下拉刷新的視圖對象ip

EGORefreshTableHeaderView * _refreshView;

在初始化界面的時候建立   EGORefreshTableHeaderView  對象 

1 _refreshView=[[EGORefreshTableHeaderView alloc]initWithFrame:CGRectMake(0, -_tableView.frame.size.height, _tableView.frame.size.width, _tableView.frame.size.height)];
2     //設置刷新視圖的代理
3     _refreshView.delegate=self;
4     [_tableView addSubview:_refreshView];
5     //顯示最近一次刷新時間
6     [_refreshView refreshLastUpdatedDate];

 

先總得說明一下思路 建立一個下拉對象EGPRefreshTableHeaderView 初始化後設置代理,由於它的代理EGORefreshTableHeaderDelegate 是繼承scrollview代理的,因此不用再添加scrollview的代理了,EGPRefreshTableHeaderView初始化放在在當前tableview上方,使用asi刷新數據以後 在finished的方法上設置刷新結束的標誌 調用(刷新對象)egoRefreshScrollViewDataSourceDidFinishedLoading:(tabview對象) 的函數    而後代理會調用兩個函數

 

//經過此方法 來告訴刷新視圖 當前是否正在刷新(當前是否有刷新任務)
//返回值爲no 證實當前沒有刷新任務 能夠執行刷新操做
//返回值爲yes 證實當前正在進行刷新的任務 不會再執行刷新操做了
- (BOOL)egoRefreshTableHeaderDataSourceIsLoading:(EGORefreshTableHeaderView *)view{
    return _isRefresh;
}
//上面的返回值爲NO 執行此方法 refreshView開始執行刷新操做
- (void)egoRefreshTableHeaderDidTriggerRefresh:(EGORefreshTableHeaderView *)view{
    //實現刷新數據的代碼
    if (_isRefresh==NO) {
        _isRefresh=YES;//改變bool值爲yes 標記爲正在刷新
    }
    //從新請求第一頁的數據
    [self loadDataWithPage:1];
    
}
//nsdata 用於操做和獲取時間的類  (xxxx年xx月xx日xx時:xx分xx秒)
//返回這次刷新操做對應的時間
- (NSDate*)egoRefreshTableHeaderDataSourceLastUpdated:(EGORefreshTableHeaderView*)view{
    //返回系統的當前的時間
    return [NSData data];
}

 這樣就能夠實現下拉列表的實現了

相關文章
相關標籤/搜索