閱讀706 返回首頁    go 阿裏雲 go 技術社區[雲棲]


[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

  上一篇:go android2.2根據電話號碼查詢聯係人姓名的方法
  下一篇:go Hibernate中id的table生成策略之聯合主鍵