У меня есть UIView с контентом, и я реализую функцию «тянуть-обновить». Как я могу настроить UIScrollView так, чтобы он всегда возвращался к contentOffset, равному 0,0 (и чтобы он выглядел естественно)?
Я видел множество примеров того, как это делается с помощью UITable View ииметь тягу, чтобы обновить поведение довольно вниз.Кажется, у моей проблемы большой размер контента для размещения скрытого баннера Pull-To-Refresh.Если я прокручиваю содержимое вниз, оно снова будет вверх.Если я потяну контент вверх, он лениво прокручивается назад, но не до той же самой точной позиции.
Я реализовал функцию ниже, которая будет определять, прокручивается ли представление прокрутки.Затем он изменит представление обратно на 0,0.Этот вид работает, но выглядит нервным или запаздывает в анимации.
- (void)scrollViewDidScroll:(UIScrollView *)scrollView;
{
if(moveScrollView)
[moveScrollView invalidate];
moveScrollView = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(moveScrollViewToOrigin) userInfo:nil repeats:NO];
}
- (void)moveScrollViewToOrigin;
{
if(scrollView.contentOffset.y == 0)
return;
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.2];
[[self scrollView] setContentOffset:CGPointZero];
[UIView commitAnimations];
}
Я создал пример проекта с проблемой и моим решением здесь.