[EGORefreshTableHeaderView]手動啟動下拉更新的方法
Q:在EGORefreshTable中手動啟動下拉更新的方法?
A:EGORefreshTable中提供了方法,讓用戶下拉table到一定位置實現下拉更新的效果,現在我想複用這種效果用於table更新,比如我做一個按鈕,當用戶點擊這個按鈕時,執行這種數據加載中的效果,或者app剛剛啟動時,也可以執行這個操作。詳細參考代碼
-(void) ViewFrashData{ [tblView setContentOffset:CGPointMake(0, -75) animated:YES]; [self performSelector:@selector(doneManualRefresh) withObject:nil afterDelay:0.4]; } -(void)doneManualRefresh{ [_refreshHeaderView egoRefreshScrollViewDidScroll:tblView]; [_refreshHeaderView egoRefreshScrollViewDidEndDragging:tblView]; }
說明:
1:viewFrashData方法是手動調用執行的方法。
2:[tblView setContentOffset:CGPointMake(0, -75) animated:YES],以動畫形式展現下拉table,設置75的原因是,EGORefreshTable需要下拉65個像素才能觸發更新操作,設置75這樣還可以有種動態回彈的效果,你可以根據自己的需求再調整。
3:[self performSelector:@selector(doneManualRefresh) withObject:nil afterDelay:0.4];調用延遲方法的原因是,scrollview的動畫效果需要一定時間,在動畫還未完成時,調用egoRefreshScrollViewDidScroll方法時,是不會觸發下拉更新操作的。
4:doneManualRefresh 調用 egoRefresh的didscroll和endDragging方法,模擬下拉操作。
5:tblView為UITableView對象
誤區:
一開始碰到的誤區是,對scrollView的方法不太熟悉,直接調用的 [tblView setContentOffset:CGPointMake(0, -75)]方法,然後做下拉動畫,由於對CATransition動畫不熟悉,倒騰了半天沒做成下拉的動畫效果(有誰知道這種效果也麻煩告訴下)。
轉帖請注明: https://blog.csdn.net/ugg
最後更新:2017-04-02 22:16:28