Skip to content

WeipengChan/NewRefreshView

Repository files navigation

#demo 描述

这个demo的上面的footerView和headerView终于是分开了,并且达成了block的形式。 推荐使用block形式这样代码更清晰。

#调用示例

- (void)addFooter
{
__unsafe_unretained MJTableViewController *vc = self;
MJRefreshFooterView *footer = [MJRefreshFooterView footer];
footer.scrollView = self.tableView;
footer.beginRefreshingBlock = ^(MJRefreshBaseView *refreshView) {
    // 增加5条假数据
    for (int i = 0; i<5; i++) {
        int random = arc4random_uniform(1000000);
        [vc->_fakeData addObject:[NSString stringWithFormat:@"随机数据---%d", random]];
    }
    
    // 模拟延迟加载数据,因此2秒后才调用)
    // 这里的refreshView其实就是footer
    [vc performSelector:@selector(doneWithView:) withObject:refreshView afterDelay:2.0];
    
    NSLog(@"%@----开始进入刷新状态", refreshView.class);
};
_footer = footer;
}

- (void)addHeader
{
__unsafe_unretained MJTableViewController *vc = self;

MJRefreshHeaderView *header = [MJRefreshHeaderView header];
header.scrollView = self.tableView;
header.beginRefreshingBlock = ^(MJRefreshBaseView *refreshView) {
    // 进入刷新状态就会回调这个Block
    
    // 增加5条假数据
    for (int i = 0; i<5; i++) {
        int random = arc4random_uniform(1000000);
        [vc->_fakeData insertObject:[NSString stringWithFormat:@"随机数据---%d", random] atIndex:0];
    }
    
    // 模拟延迟加载数据,因此2秒后才调用)
    // 这里的refreshView其实就是header
    [vc performSelector:@selector(doneWithView:) withObject:refreshView afterDelay:2.0];
    
    NSLog(@"%@----开始进入刷新状态", refreshView.class);
};
header.endStateChangeBlock = ^(MJRefreshBaseView *refreshView) {
    // 刷新完毕就会回调这个Block
    NSLog(@"%@----刷新完毕", refreshView.class);
};
header.refreshStateChangeBlock = ^(MJRefreshBaseView *refreshView, MJRefreshState state) {
    // 控件的刷新状态切换了就会调用这个block
    switch (state) {
        case MJRefreshStateNormal:
            NSLog(@"%@----切换到:普通状态", refreshView.class);
            break;
            
        case MJRefreshStatePulling:
            NSLog(@"%@----切换到:松开即可刷新的状态", refreshView.class);
            break;
            
        case MJRefreshStateRefreshing:
            NSLog(@"%@----切换到:正在刷新状态", refreshView.class);
            break;
        default:
            break;
    }
};
[header beginRefreshing];
_header = header;
}

About

footer and header views

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published