聲明:以下內容全屬於個人心得,如發現有不正確的地方,歡迎指正。
在一個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彈回 完成一次加載