Я знаю, что это довольно старый, но надеюсь, что это может помочь. Следуя тому, что сказал @MarkGranoff, scrollsToTop не работает, если более чем одному UIScrollView или его подклассам присвоено значение YES (значение по умолчанию), возможно, стоит проверить работоспособность, чтобы выяснить, кто на самом деле ошибается с этим поведением. Простой метод ниже перебирает подпредставления вашего представления и регистрирует значение scrollsToTop всех UIScrollView в вашем представлении. Предпочтительно вызываться в вашем методе viewDidAppear.
- (void)checkForScrollViewInView:(UIView *)view {
for (UIView *subview in [view subviews]) {
if ([subview isKindOfClass:[UIScrollView class]]) {
NSLog(@"scrollsToTop enabled: %i in scroll view %@", ((UIScrollView *)subview).scrollsToTop, subview);
}
if (subview.subviews.count > 0) {
[self checkForScrollViewInView:subview];
}
}
}
Это действительно просто код отладки. Как только вы найдете значение scrollsToTop для каждого из подклассов UIScrollView, просто убедитесь, что для YES установлено только одно значение.