EGORefreshTableHeaderView实现上拉刷新

卫建义
2023-12-01

上拉刷新一般是用在tableView里面,当我们的tableView满足我们的刷新条件时候,就可以去掉用我们写好的一个方法

首先我们要导入EGORefreshTableHeaderView的.h.m文件

首先我们要创建EGORefreshTableHeaderView的对象:

    ego=[[EGORefreshTableHeaderView alloc] initWithFrame:CGRectMake(0, 0-tableview.bounds.size.height, tableview.bounds.size.width, tableview.bounds.size.height)];
    ego.delegate=self;
    [tableview addSubview:ego];
然后我们经常利用的ego的方法:

refreshLastUpdatedDate;//首次刷新时间,不知道有什么用

利用scrollview的代理方法,通知EGO我们的tableview正在滚动

-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    [ego egoRefreshScrollViewDidScroll:scrollView];
}
-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{
    [ego egoRefreshScrollViewDidEndDragging:scrollView];
}

 [ego egoRefreshScrollViewDataSourceDidFinishedLoading:tableview];//刷新完成之后用来通知ego消失的,注意如果不行的话可以推迟几秒之后在推出.

EGORefreshTableHeaderView的代理方法:

ego对象会自己判断什么时候刷新,之后就会调用egoRefreshTableHeaderDidTriggerRefresh:这个方法,我们也就是在这个方法中做刷新的事情

-(void)egoRefreshTableHeaderDidTriggerRefresh:(EGORefreshTableHeaderView *)view
{
    
    isload=YES;
    [NSThread sleepForTimeInterval:0.5f];
    [self performSelector:@selector(finash) withObject:nil afterDelay:1];
//    [self finash];
}
//判断当前是否在刷新
-(BOOL)egoRefreshTableHeaderDataSourceIsLoading:(EGORefreshTableHeaderView *)view
{
    return isload;
}
//判断当前的刷新时间
-(NSDate *)egoRefreshTableHeaderDataSourceLastUpdated:(EGORefreshTableHeaderView *)view
{
    return [NSDate date];
}


 类似资料: