我正在做下拉刷新的事情。在scrollViewDidEndDecelerating中,我檢查偏移量是否超過某個點,並在scrollViewDidEndDragging中設置contentInset以保持拉下的部分可見。UITableView拉來刷新導致閃爍。如何預防它?
但是,這會導致閃爍,可能是由於contentInset在滾動動畫期間被重置。我想我可以通過在scrollViewWillEndDragging中設置targetContentOffset來防止這種情況,但似乎沒有辦法。
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{
if (scrollView.contentOffset.y < -kRefreshViewDelta)
{
self.tableView.contentInset = UIEdgeInsetsMake(kRefreshViewHeight, 0.0f, 0.0f, 0.0f);
}
}
- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset
{
if (scrollView.contentOffset.y < -kRefreshViewDelta)
{
targetContentOffset->y = kRefreshViewHeight ;
}
}
感謝您的支持。我從44號假設你也試圖讓搜索欄捲起來作爲頭部? – MusiGenesis 2013-07-19 14:18:09
@MusiGenesis的確我隱藏了一個搜索欄,用戶可以使用這個搜索欄,但是一旦用戶不再使用它,就會隱藏起來。 – sc0rp10n 2013-08-01 23:13:14
是的,這裏也一樣。 – MusiGenesis 2013-08-02 15:37:09