2014-10-10 2 views
1

Я пытаюсь изменить UICollectionView с помощью UICollectionViewFlowLayout для поддержки некоторых эффектов параллакса при прокрутке. Я могу сделать это на UICollectionViewCells пути реализации что-то вроде:Доступ к видимым UICollectionReusableViews при прокрутке

- (void)scrollViewDidScroll:(UIScrollView *)mainScrollView 
{ 
    CGPoint offset = [mainScrollView contentOffset]; 
    for (UIView *cell in [self.mainCollectionView visibleCells]) 
     if ([cell conformsToProtocol:@protocol(KSParallaxCell)]) 
      [((UIView <GSParallaxCell> *)cell) parallaxInScrollView:mainScrollView toX:offset.x toY:offset.y]; 
} 

Можно ли перебирать дополнительные виды (UICollectionElementKindSectionHeader и UICollectionElementKindSectionFooter), чтобы проверить, если они поддерживают один и тот же параллакс делегат?

ответ

0

Забыл проверить очевидными из цикла через подобозрение вместо вызова видимых ячеек:

- (void)scrollViewDidScroll:(UIScrollView *)mainScrollView 
{ 
    CGPoint offset = [mainScrollView contentOffset]; 
    for (UIView *cell in self.mainCollectionView.subviews) 
     if ([cell conformsToProtocol:@protocol(KSParallaxCell)]) 
     [((UIView <GSParallaxCell> *)cell) parallaxInScrollView:mainScrollView toX:offset.x toY:offset.y]; 
} 
Смежные вопросы