仅需3步,简单使用EGORefresh实现下拉刷新

来源:互联网 发布:前锦网络信息技术南京 编辑:程序博客网 时间:2024/06/05 11:59

Demo下载地址:点击打开链接 (PS:如果运行demo出错 需要将Deployment Target 设置成4.2之后, 我设置的是8.0)

1.导入相关使用的文件如图


2.文件由mrc改成arc如图




3.在需要调用刷新的地方导入相关写好的代理方法(我用的是tableView)

下面这个图是.h里的代码



.m里的代码

#pragma mark - 

#pragma mark tableVieww

- (void)tableViewIndex

{

    self.tableView = [[UITableViewalloc]initWithFrame:CGRectMake(0,30,WindowWidth,WindowHeight -64) style:UITableViewStylePlain];

    _tableView.dataSource =self;

    _tableView.delegate =self;

    _tableView.backgroundColor = [UIColorclearColor];

    [self.viewaddSubview:_tableView];

    [selfsearchBarIndex];

    //refresh

    if (_refreshHeaderView ==nil) {

        _refreshHeaderView = [[EGORefreshTableHeaderViewalloc]initWithFrame:_tableView.frame];

        _refreshHeaderView.delegate =self;

        [self.viewinsertSubview:_refreshHeaderViewbelowSubview:self.tableView];

    }

    //  update the last update date

    [_refreshHeaderViewrefreshLastUpdatedDate];

}


#pragma mark -

#pragma mark Data Source Loading / Reloading Methods


- (void)reloadTableViewDataSource{

    

    //  should be calling your tableviews data source model to reload

    //  put here just for demo

    _reloading =YES;

    [selfperformSelector:@selector(doneLoadingTableViewData)withObject:nilafterDelay:1.0];

}


- (void)doneLoadingTableViewData{

    

    //  model should call this when its done loading

    _reloading =NO;

    [_refreshHeaderViewegoRefreshScrollViewDataSourceDidFinishedLoading:self.tableView];

    

}

#pragma mark -

#pragma mark UIScrollViewDelegate Methods


- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView

{

    [_refreshHeaderViewegoRefreshScrollViewWillBeginScroll:scrollView];

}


- (void)scrollViewDidScroll:(UIScrollView *)scrollView{

    

    [_refreshHeaderViewegoRefreshScrollViewDidScroll:scrollView];

    

}


- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{

    

    [_refreshHeaderViewegoRefreshScrollViewDidEndDragging:scrollView];

    

}


#pragma mark -

#pragma mark EGORefreshTableHeaderDelegate Methods


- (void)egoRefreshTableHeaderDidTriggerRefresh:(EGORefreshTableHeaderView*)view{

    

    [selfreloadTableViewDataSource];

    [selfperformSelector:@selector(doneLoadingTableViewData)withObject:nilafterDelay:1.0];

    

}


- (BOOL)egoRefreshTableHeaderDataSourceIsLoading:(EGORefreshTableHeaderView*)view{

    

    return_reloading;// should return if data source model is reloading

    

}


- (NSDate*)egoRefreshTableHeaderDataSourceLastUpdated:(EGORefreshTableHeaderView*)view{

    

    return [NSDatedate];// should return date data source was last changed

    

}


0 0
原创粉丝点击