scroll下拉刷新系统方法,table的也是

scroll下拉刷新系统方法,table的也是
点个喜欢等等。

scroll

A类: scrll在A类
。h文件
//自己的代理
@protocol scroViewDelegate 
- (void)didleftScroll;
@end

@interface xxxView : UIView
@property (nonatomic, weak) id  delegate;
。m文件
//scoll的代理
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate {
    
    CGPoint point=scrollView.contentOffset;
    if (point.x<-40) {
        
        if ([self.delegate respondsToSelector:@selector(didleftScroll)])
            
        {
            [self.delegate didleftScroll];
        }
        NSLog(@"运行了~~~~~~");
    }
    
}
b类 :使用的地方B类
#pragma mark  代理
- (void)didleftScroll {
//网络请求
        [self requestCurve:NO];

 
    }
 
}
#pragma mark  网络
 - (viod)requestCurve:(bool){
//1数据下来了
//2
                            [self.xxView removeFromSuperview];
//3重新填入数据
}

tab的道理同上就不说呃
下面是mjrefresh的tab

@interface xxxxxxxTableViewController ()
@property (nonatomic, strong) MJRefreshNormalHeader *header;


@end

@implementation xxxxxxxTableViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    self.navigationController.navigationBar.subviews[0].subviews[1].hidden = YES;
    //网络
    [self requestData];

    // 设置回调(一旦进入刷新状态,就调用target的action,也就是调用self的loadNewData方法)
    self.header = [MJRefreshNormalHeader headerWithRefreshingTarget:self refreshingAction:@selector(loadNewData)];
    // 设置自动切换透明度(在导航栏下面自动隐藏)
    self.header.automaticallyChangeAlpha = YES;
    // 隐藏时间
    self.header.lastUpdatedTimeLabel.hidden = YES;
    self.header.stateLabel.hidden = YES;
    // 设置header
    self.tableView.mj_header = self.header;
}

#pragma mark - Table view data source


#pragma mark 网络
- (void)requestData {
    
    xxxxxxtModel *reqModel = [[xxxxxModel alloc] init];
    reqModel.userId = [CommonInfo getInfoAboutLoginInfo].userId;
    reqModel.storeId = [CommonInfo getInfoAboutShopInfo].storeId;
    ShopServer* server = [[ShopServer alloc] init];
    [server xxxxCenter:reqModel success:^(NSInteger status, NSString *message, id responseId) {
        if ([self.tableView.mj_header isRefreshing]) {
            // 拿到当前的下拉刷新控件,结束刷新状态
            [self.tableView.mj_header endRefreshing];
        }
        if (status == 0) {
            
            self.model = (xxxxxModel *)responseId;
            _change.text = [NSString stringWithFormat:@"¥%@",_model.xxxxx];
            _catMoney.text = [NSString stringWithFormat:@"%@",_model.xxxx];
            [self.tableView reloadData];
            
            
        }else{
            [ToastUtil showToastOnBottom: message];
            
        }
        
    } failure:^(NSError *error) {
        if ([self.tableView.mj_header isRefreshing]) {
            // 拿到当前的下拉刷新控件,结束刷新状态
            [self.tableView.mj_header endRefreshing];
        }
        [ToastUtil showToastOnBottom:REQUEST_ERRORMESSAGE];
    }];
    
    
    
}

#pragma mark - 点击

#pragma mark 下拉
- (void)loadNewData {
    
    // 马上进入刷新状态
    [self.header beginRefreshing];
    
    [self requestData];
    
    
}

你可能感兴趣的:(scroll下拉刷新系统方法,table的也是)