2014-10-10 60 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]; 
} 

是否可以遍歷的補充意見(UICollectionElementKindSectionHeaderUICollectionElementKindSectionFooter),以檢查他們是否支持相同的視差代表?

回答

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]; 
}