MJRefresh tableview基本刷新的封装

代码太杂了,简单剔出来。

头文件

 1 @protocol UMSTableViewFresherDelegate <NSObject>
 2 //下拉刷新
 3 -(void)freshHeadMethod;
 4 //上划刷新
 5 -(void)freshFooterMethod;
 6 @end
 7 
 8 @interface UMSTableViewFresher : NSObject
 9 @property(nonatomic,weak) id<UMSTableViewFresherDelegate>delegate;
10 - (void)addTableViewFresher:(UITableView *) tableView;
11 //刷新完成后调用
12 - (void)doneWithView;
13 @end

实现

 1 #import "UMSTableViewFresher.h"
 2 #import "MJRefresh/MJRefresh.h"
 3 
 4 @interface UMSTableViewFresher ()
 5 {
 6     MJRefreshNormalHeader *header_;
 7     MJRefreshBackNormalFooter *footer_;
 8 }
 9 
10 @property (nonatomic,strong) UITableView * goodsFestivalTableView;
11 @property (nonatomic,strong) MJRefreshComponent  *refreshView;
12 
13 @end
14 
15 @implementation UMSTableViewFresher
16 
17 - (void)addTableViewFresher:(UITableView *) tableView{
18     [self addHeadView:tableView];
19     [self addFooterView:tableView];
20 }
21 
22 #pragma mark 添加刷新的headerview
23 - (void)addHeadView:(UITableView *) tableView{
24     
25     __weak UMSTableViewFresher * weakSelf = self;
26     tableView.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{
27         
28         weakSelf.refreshView = tableView.mj_header;
29         [self.delegate freshHeadMethod];
30     }];
31     header_ = tableView.mj_header;
32 }
33 
34 
35 - (void)addFooterView:(UITableView *) tableView{
36     
37     __weak UMSTableViewFresher * weakSelf = self;
38     tableView.mj_footer = [MJRefreshBackNormalFooter footerWithRefreshingBlock:^{
39         weakSelf.refreshView = tableView.mj_footer;
40         [self.delegate freshFooterMethod];
41     }];
42     footer_ = tableView.mj_footer;
43 }
44 
45 //  刷新完成后执行方法
46 - (void)doneWithView
47 {
48     [self.refreshView endRefreshing];
49 }
50 @end

 

用addTableViewFresher对tableview添加刷新,实现下拉刷新freshHeadMethod和上划刷新freshFooterMethod的回调方法,在tableview刷新完成后调用doneWithView方法,白白白~

posted @ 2018-02-02 14:13  Holyday  阅读(176)  评论(0编辑  收藏  举报