UIScrollView сбросить contentOffset - PullRequest
4 голосов
/ 14 марта 2012

У меня есть UIScrollView, смещение содержимого которого постоянно сбрасывается само по какой-то случайной причине. Кто-нибудь когда-нибудь сталкивался с этой проблемой? У меня было смещение содержимого до 100, а затем оно сбрасывает прокрутку назад к вершине. Есть ли способ предотвратить это?

Итак, вот код / ​​хак, который я сделал, чтобы он работал при настройке contentOffset:

 [self.currentViewController_ performSelector:@selector(scrollToOffset:) withObject:nil afterDelay:0.1];

и в моем классе currentViewController у меня есть

-(void)scrollToOffset: (CGFloat) yOffset
{
    [[self.webView_ defaultScrollView] setContentOffset:CGPointMake(0, -44) animated:YES];
}

Ответы [ 3 ]

2 голосов
/ 24 июля 2013

У меня была похожая проблема.В моем случае проблема заключалась в том, что я установил размер содержимого scrollview в viewDidLayoutSubviews.Когда я попытался прокрутить представление назад программно, был вызван viewDidLayoutSubviews, и это вызвало сброс размера контента.

1 голос
/ 03 мая 2016

Вы можете попытаться остановить обратную анимацию после завершения первой анимации.

Используйте этот делегат:

- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView 

И вызовите этот метод внутри него:

   [self setContentOffset:self.contentOffset animated:NO];
0 голосов
/ 14 марта 2012

Может быть проблема в свойстве .contentSize вашего scrollView? Вы установили это правильно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...