EGORefreshTableHeaderView 使用心得

和嘉澍
2023-12-01

声明:以下内容全属于个人心得,如发现有不正确的地方,欢迎指正。

在一个viewController里面使用EGORefreshTableHeaderView

装在EGORefreshTableHeaderView的步骤省略..设置其实例名称为_refreshHeaderView

首先,在这个viewController进行向下拖拽的时候,触发UIScrollView的委托方法:


- (void)scrollViewDidScroll:(UIScrollView *)scrollView

{

  在这个方法里实现 [_refreshHeaderView egoRefreshScrollViewDidScroll:scrollView];

}

_refreshHeaderView在执行这个方法的时候,会触发这个delegate: egoRefreshTableDataSourceIsLoading

在当前viewController里实现该委托方法

- (BOOL)egoRefreshTableDataSourceIsLoading:(UIView*)view{
    
    return _reloading; // should return if data source model is reloading
    
}

此时的_reloading还是当前初始化的值 NO;那么_refreshHeaderView还未进行加载不显示菊花圈

当viewController对视图松开向下拖拽的时候,触发UIScrollView的委托方法:

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

{

    //实现 [_refreshHeaderView egoRefreshScrollViewDidEndDragging:scrollView];

}

refreshHeaderView在实现egoRefreshScrollViewDidEndDragging方法的时候 会触发这个delegate :egoRefreshTableDidTriggerRefresh

在当前viewController里实现这个委托

- (void)egoRefreshTableDidTriggerRefresh:(EGORefreshPos)aRefreshPos
{
    
   设置_reloading=YES; 开始加载菊花圈

    并完善加载数据的方法
}

在加载完成的时候 执行 _reloading = NO;

  [_refreshHeaderView egoRefreshScrollViewDataSourceDidFinishedLoading:self.view];

消除菊花圈 _refreshHeaderView弹回 完成一次加载

 类似资料: