MJRefresh的使用

1.將MJRefresh文件夾整個導入所需的工程中。app

2.文件夾中的MJRefresh.bundle--->arrow@2x.png 圖片可自行替換,這個會在刷新過程當中顯示。spa

3.能夠在MJRefreshConst.h和MJRefreshConst.m文件中自定義顯示的文字內容和文字顏色。.net

4.只要你的view可以滾動,就能集成這個控件,好比UIScrollView、UITableView、UICollectionView代理

5.在須要使用的地方,加入以下代碼便可。code

5.1  導入頭文件orm

[cpp] view plaincopy在CODE上查看代碼片派生到個人代碼片blog

  1. #import "MJRefresh.h"  圖片

[cpp] view plaincopy在CODE上查看代碼片派生到個人代碼片ip

  1. #import "MJRefresh.h"  內存


5.2  聽從協議

[cpp] view plaincopy在CODE上查看代碼片派生到個人代碼片

  1. @interface ViewController ()<MJRefreshBaseViewDelegate>  

[cpp] view plaincopy在CODE上查看代碼片派生到個人代碼片

  1. @interface ViewController ()<MJRefreshBaseViewDelegate>  


5.3  爲你的view添加控件

[cpp] view plaincopy在CODE上查看代碼片派生到個人代碼片

  1. MJRefreshFooterView *footer = [MJRefreshFooterView footer];  

  2.     footer.scrollView = myTableView;  

  3.     footer.delegate = self;  

  4.       

  5.     MJRefreshHeaderView *header = [MJRefreshHeaderView header];  

  6.     header.scrollView = myTableView;  

  7.     header.delegate = self;  

[cpp] view plaincopy在CODE上查看代碼片派生到個人代碼片

  1. MJRefreshFooterView *footer = [MJRefreshFooterView footer];  

  2.     footer.scrollView = myTableView;  

  3.     footer.delegate = self;  

  4.       

  5.     MJRefreshHeaderView *header = [MJRefreshHeaderView header];  

  6.     header.scrollView = myTableView;  

  7.     header.delegate = self;  


5.4實現代理方法

[cpp] view plaincopy在CODE上查看代碼片派生到個人代碼片

  1. #pragma mark - 刷新控件的代理方法  

  2. #pragma mark 開始進入刷新狀態  

  3. - (void)refreshViewBeginRefreshing:(MJRefreshBaseView *)refreshView  

  4. {  

  5.     NSLog(@"%@----開始進入刷新狀態", refreshView.class);  

  6.     // 2.2秒後刷新表格UI  

  7.     [self performSelector:@selector(doneWithView:) withObject:refreshView afterDelay:2.0];  

  8.   

  9. }  

  10.   

  11. #pragma mark 刷新完畢  

  12. - (void)refreshViewEndRefreshing:(MJRefreshBaseView *)refreshView  

  13. {  

  14.     NSLog(@"%@----刷新完畢", refreshView.class);  

  15. }  

  16.   

  17. #pragma mark 監聽刷新狀態的改變  

  18. - (void)refreshView:(MJRefreshBaseView *)refreshView stateChange:(MJRefreshState)state  

  19. {  

  20.     switch (state) {  

  21.         case MJRefreshStateNormal:  

  22.             NSLog(@"%@----切換到:普通狀態", refreshView.class);  

  23.             break;  

  24.               

  25.         case MJRefreshStatePulling:  

  26.             NSLog(@"%@----切換到:鬆開便可刷新的狀態", refreshView.class);  

  27.             break;  

  28.               

  29.         case MJRefreshStateRefreshing:  

  30.             NSLog(@"%@----切換到:正在刷新狀態", refreshView.class);  

  31.             break;  

  32.         default:  

  33.             break;  

  34.     }  

  35. }  

  36.   

  37. #pragma mark 刷新表格而且結束正在刷新狀態  

  38. - (void)doneWithView:(MJRefreshBaseView *)refreshView  

  39. {  

  40.     // 刷新表格  

  41.     [myTableView reloadData];  

  42.       

  43.     // (最好在刷新表格後調用)調用endRefreshing能夠結束刷新狀態  

  44.     [refreshView endRefreshing];  

  45. }  

[cpp] view plaincopy在CODE上查看代碼片派生到個人代碼片

  1. #pragma mark - 刷新控件的代理方法  

  2. #pragma mark 開始進入刷新狀態  

  3. - (void)refreshViewBeginRefreshing:(MJRefreshBaseView *)refreshView  

  4. {  

  5.     NSLog(@"%@----開始進入刷新狀態", refreshView.class);  

  6.     // 2.2秒後刷新表格UI  

  7.     [self performSelector:@selector(doneWithView:) withObject:refreshView afterDelay:2.0];  

  8.   

  9. }  

  10.   

  11. #pragma mark 刷新完畢  

  12. - (void)refreshViewEndRefreshing:(MJRefreshBaseView *)refreshView  

  13. {  

  14.     NSLog(@"%@----刷新完畢", refreshView.class);  

  15. }  

  16.   

  17. #pragma mark 監聽刷新狀態的改變  

  18. - (void)refreshView:(MJRefreshBaseView *)refreshView stateChange:(MJRefreshState)state  

  19. {  

  20.     switch (state) {  

  21.         case MJRefreshStateNormal:  

  22.             NSLog(@"%@----切換到:普通狀態", refreshView.class);  

  23.             break;  

  24.               

  25.         case MJRefreshStatePulling:  

  26.             NSLog(@"%@----切換到:鬆開便可刷新的狀態", refreshView.class);  

  27.             break;  

  28.               

  29.         case MJRefreshStateRefreshing:  

  30.             NSLog(@"%@----切換到:正在刷新狀態", refreshView.class);  

  31.             break;  

  32.         default:  

  33.             break;  

  34.     }  

  35. }  

  36.   

  37. #pragma mark 刷新表格而且結束正在刷新狀態  

  38. - (void)doneWithView:(MJRefreshBaseView *)refreshView  

  39. {  

  40.     // 刷新表格  

  41.     [myTableView reloadData];  

  42.       

  43.     // (最好在刷新表格後調用)調用endRefreshing能夠結束刷新狀態  

  44.     [refreshView endRefreshing];  

  45. }  



6.你能夠經過調用beginRefreshing自動進入下拉刷新狀態。

7.你能夠經過調用endRefreshing結束刷新狀態。

8.爲了保證內部不泄露,最好在控制器的dealloc中釋放佔用的內存
- (void)dealloc
{
[_header free];
[_footer free];
}


效果圖:

  • iOS / iPhone / iPad 僅需幾行代碼就能夠爲UITableView或者CollectionView加上下拉刷新或者上拉刷新功能。能夠自定義上下拉刷新的文字說明。具體使用看下面的「使用方法」。<br /><br />    2014.02.08版本代碼更新功能:<br /><br />    1.修復了「沒有數據時,上拉加載更多控件停滯不下」的BUG;<br /><br />    2.修復了示例程序中控制器的內存泄露。<br /><br />    2014.01.03版本代碼更新功能:<br /><br />    1.完美適配iOS6\iOS七、iPhone\iPad橫豎屏<br /><br />    2.增長了刷新控件狀態改變的回調機制<br /><br />    3.解決了上拉加載更多殘留已久的莫名其妙BUG,加強了用戶體驗<br /><br />    4.刪除了冗餘的音頻播放功能<br /><br />    5.增長了內存釋放功能,解決了內存泄露的BUG<br /><br />    2013.01.03版本代碼更新功能:<br /><br />    1.適配iPhone橫豎屏、iPad橫豎屏;<br /><br />    2.不用再調用 free 方法來釋放刷新控件的資源;<br /><br />    3.演示了刷新控件的block回調;<br /><br />    4.演示了刷新控件在UICollectionView上的使用.<br /><br />    做者說:網上開源的下拉-上拉刷新控件,廣泛封裝得過於複雜、耦合性強。所以本人特意花了點時間寫了一套無耦合、可插拔式的刷新控件,對項目中的其餘代碼毫無侵入性,並且使用簡單,3行代碼就能集成刷新控件。<br /><br />    小編注:感謝開發者@M了個J 發佈代碼於Code4App.com。

  • iOS / iPhone / iPad 僅需幾行代碼就能夠爲UITableView或者CollectionView加上下拉刷新或者上拉刷新功能。能夠自定義上下拉刷新的文字說明。具體使用看下面的「使用方法」。<br /><br />    2014.02.08版本代碼更新功能:<br /><br />    1.修復了「沒有數據時,上拉加載更多控件停滯不下」的BUG;<br /><br />    2.修復了示例程序中控制器的內存泄露。<br /><br />    2014.01.03版本代碼更新功能:<br /><br />    1.完美適配iOS6\iOS七、iPhone\iPad橫豎屏<br /><br />    2.增長了刷新控件狀態改變的回調機制<br /><br />    3.解決了上拉加載更多殘留已久的莫名其妙BUG,加強了用戶體驗<br /><br />    4.刪除了冗餘的音頻播放功能<br /><br />    5.增長了內存釋放功能,解決了內存泄露的BUG<br /><br />    2013.01.03版本代碼更新功能:<br /><br />    1.適配iPhone橫豎屏、iPad橫豎屏;<br /><br />    2.不用再調用 free 方法來釋放刷新控件的資源;<br /><br />    3.演示了刷新控件的block回調;<br /><br />    4.演示了刷新控件在UICollectionView上的使用.<br /><br />    做者說:網上開源的下拉-上拉刷新控件,廣泛封裝得過於複雜、耦合性強。所以本人特意花了點時間寫了一套無耦合、可插拔式的刷新控件,對項目中的其餘代碼毫無侵入性,並且使用簡單,3行代碼就能集成刷新控件。<br /><br />    小編注:感謝開發者@M了個J 發佈代碼於Code4App.com。

  • iOS / iPhone / iPad 僅需幾行代碼就能夠爲UITableView或者CollectionView加上下拉刷新或者上拉刷新功能。能夠自定義上下拉刷新的文字說明。具體使用看下面的「使用方法」。<br /><br />    2014.02.08版本代碼更新功能:<br /><br />    1.修復了「沒有數據時,上拉加載更多控件停滯不下」的BUG;<br /><br />    2.修復了示例程序中控制器的內存泄露。<br /><br />    2014.01.03版本代碼更新功能:<br /><br />    1.完美適配iOS6\iOS七、iPhone\iPad橫豎屏<br /><br />    2.增長了刷新控件狀態改變的回調機制<br /><br />    3.解決了上拉加載更多殘留已久的莫名其妙BUG,加強了用戶體驗<br /><br />    4.刪除了冗餘的音頻播放功能<br /><br />    5.增長了內存釋放功能,解決了內存泄露的BUG<br /><br />    2013.01.03版本代碼更新功能:<br /><br />    1.適配iPhone橫豎屏、iPad橫豎屏;<br /><br />    2.不用再調用 free 方法來釋放刷新控件的資源;<br /><br />    3.演示了刷新控件的block回調;<br /><br />    4.演示了刷新控件在UICollectionView上的使用.<br /><br />    做者說:網上開源的下拉-上拉刷新控件,廣泛封裝得過於複雜、耦合性強。所以本人特意花了點時間寫了一套無耦合、可插拔式的刷新控件,對項目中的其餘代碼毫無侵入性,並且使用簡單,3行代碼就能集成刷新控件。<br /><br />    小編注:感謝開發者@M了個J 發佈代碼於Code4App.com。

  • iOS / iPhone / iPad 僅需幾行代碼就能夠爲UITableView或者CollectionView加上下拉刷新或者上拉刷新功能。能夠自定義上下拉刷新的文字說明。具體使用看下面的「使用方法」。<br /><br />    2014.02.08版本代碼更新功能:<br /><br />    1.修復了「沒有數據時,上拉加載更多控件停滯不下」的BUG;<br /><br />    2.修復了示例程序中控制器的內存泄露。<br /><br />    2014.01.03版本代碼更新功能:<br /><br />    1.完美適配iOS6\iOS七、iPhone\iPad橫豎屏<br /><br />    2.增長了刷新控件狀態改變的回調機制<br /><br />    3.解決了上拉加載更多殘留已久的莫名其妙BUG,加強了用戶體驗<br /><br />    4.刪除了冗餘的音頻播放功能<br /><br />    5.增長了內存釋放功能,解決了內存泄露的BUG<br /><br />    2013.01.03版本代碼更新功能:<br /><br />    1.適配iPhone橫豎屏、iPad橫豎屏;<br /><br />    2.不用再調用 free 方法來釋放刷新控件的資源;<br /><br />    3.演示了刷新控件的block回調;<br /><br />    4.演示了刷新控件在UICollectionView上的使用.<br /><br />    做者說:網上開源的下拉-上拉刷新控件,廣泛封裝得過於複雜、耦合性強。所以本人特意花了點時間寫了一套無耦合、可插拔式的刷新控件,對項目中的其餘代碼毫無侵入性,並且使用簡單,3行代碼就能集成刷新控件。<br /><br />    小編注:感謝開發者@M了個J 發佈代碼於Code4App.com。



人機界面準則

相關文章
相關標籤/搜索