Я делаю то, что нужно для обновления. В scrollViewDidEndDecelerating я проверяю, прошло ли смещение через определенную точку, а в scrollViewDidEndDragging я устанавливаю contentInset, чтобы раскрывающийся раздел оставался видимым.
Однако это приводит к мерцанию, вероятно, из-за сброса contentInset во время прокрутки анимации. Я думал, что смогу предотвратить это, установив targetContentOffset в scrollViewWillEndDragging, но, похоже, это не помогло.
- (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 ;
}
}