我正在做下拉刷新的功能。在scrollViewDidEndDecelerating方法中,我检查偏移量是否超过了某个点,在scrollViewDidEndDragging方法中,我设置了contentInset,以便保持下拉部分可见。
然而,这会导致闪烁,可能是由于滚动动画期间重置了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 ;
}
}