1010#import " KtBaseTableViewCell.h"
1111#import " KtTableViewSectionObject.h"
1212#import " KtTableViewBaseItem.h"
13+ #import " MJRefresh.h"
1314
1415@implementation KtBaseTableView
1516
@@ -23,6 +24,8 @@ - (instancetype)initWithFrame:(CGRect)frame style:(UITableViewStyle)style {
2324 self.sectionHeaderHeight = 0 ;
2425 self.sectionFooterHeight = 0 ;
2526 self.delegate = self;
27+ self.isNeedPullDownToRefreshAction = NO ;
28+ self.isNeedPullUpToRefreshAction = NO ;
2629 }
2730 return self;
2831}
@@ -34,6 +37,52 @@ - (void)setKtDataSource:(id<KtTableViewDataSource>)ktDataSource {
3437 }
3538}
3639
40+ #pragma mark - 上拉加载和下拉刷新
41+ - (void )setIsNeedPullDownToRefreshAction : (BOOL )isEnable {
42+ if (_isNeedPullDownToRefreshAction == isEnable) {
43+ return ;
44+ }
45+ _isNeedPullDownToRefreshAction = isEnable;
46+ __block typeof (self) weakSelf = self;
47+ if (_isNeedPullDownToRefreshAction) {
48+ self.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock: ^{
49+ if ([weakSelf.ktDelegate respondsToSelector: @selector (pullDownToRefreshAction )]) {
50+ [weakSelf.ktDelegate pullDownToRefreshAction ];
51+ }
52+ }];
53+
54+ }
55+ }
56+
57+ - (void )setIsNeedPullUpToRefreshAction : (BOOL )isEnable
58+ {
59+ if (_isNeedPullUpToRefreshAction == isEnable) {
60+ return ;
61+ }
62+ _isNeedPullUpToRefreshAction = isEnable;
63+ __block typeof (self) weakSelf = self;
64+ if (_isNeedPullUpToRefreshAction) {
65+ self.mj_footer = [MJRefreshAutoNormalFooter footerWithRefreshingBlock: ^{
66+ if ([weakSelf.ktDelegate respondsToSelector: @selector (pullUpToRefreshAction )]) {
67+ [weakSelf.ktDelegate pullUpToRefreshAction ];
68+ }
69+ }];
70+ }
71+ }
72+
73+ - (void )stopRefreshingAnimation {
74+ if ([self .mj_header isRefreshing ]) {
75+ [self .mj_header endRefreshing ];
76+ }
77+ if ([self .mj_footer isRefreshing ]) {
78+ [self .mj_footer endRefreshing ];
79+ }
80+ }
81+
82+ - (void )triggerRefreshing {
83+ [self .mj_header beginRefreshing ];
84+ }
85+
3786#pragma mark - UITableViewDelegate
3887
3988- (CGFloat)tableView : (UITableView*)tableView heightForRowAtIndexPath : (NSIndexPath *)indexPath {
0 commit comments