Вы можете проверить, какие виды находятся в видимой области представления прокрутки, с помощью чего-то вроде этого:
CGRect visibleArea = CGRectMake(scrollView.contentOffset.x, scrollView.contentOffset.y, scrollView.view.frame.size.width, scrollView.view.frame.size.height);
NSMutableArray *visibleViews = [[NSMutableArray alloc] init];
for(UIView *view in scrollView.subviews){
if(CGRectIntersectsRect(visibleArea, view.frame)
[visibleViews addObject:view];
}
В результате вы получите массив (visibleViews) со всеми представлениями, которыепересечения пересекаются с видимым прямоугольником вида прокрутки.Затем вы можете анимировать только представления в указанном массиве.
PS.Я не тестировал этот код, но он должен дать вам общее представление.