UITableView подтягивает для обновления, вызывая мерцание. Как это предотвратить?

Я делаю то, что нужно для обновления. В 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 ;
     }
 }
5
задан Michael Celey 11 April 2013 в 14:43
поделиться