2015-05-23 1 views
0

У меня есть UICollectionView в моем приложении, с нижним колонтитулом внизу, содержащим изображение. Я хотел бы сделать так, чтобы вы могли прокручивать нижнюю часть UICollectionView, а затем, если вы сделаете дальнейший прокрутка вниз, она прокрутится ниже нижнего колонтитула до UIScrollView. Очевидно, вы могли бы прокручивать вверх и вниз по UIScrollView, и как только вы на самом верху, вы можете перетащить назад, и он снова переместится выше изображения нижнего колонтитула.UIGestureRecogniser в UICollectionView

Я предполагаю, что мне нужно будет использовать UIGestureRecogniser, чтобы обнаружить прокрутку вверх, а затем добавить оператор if, чтобы проверить, что пользователь в настоящее время находится справа внизу представления коллекции?

Надеюсь, я объяснил это достаточно хорошо. Если бы кто-то мог предоставить примерный код, я бы очень признателен!

Спасибо.

ответ

0

Я не понял .. У вас есть прокрутка с изображением в нижнем колонтитуле коллекции? В любом случае не нужно использовать распознаватель жестов, проверьте -scrollViewDidEndDragging: willDecelerate::

typedef NS_ENUM(NSUInteger, ScrollDirection) { 
    ScrollDirectionDown, 
    ScrollDirectionUp 
}; 

@interface ViewController() 

@property (weak, nonatomic) IBOutlet UIScrollView *scrollWithImageView; 

@property (nonatomic) double lastContentOffset; 
@property (nonatomic) ScrollDirection scrollDirection; 

@end 

@implementation ViewController 

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate { 
    if (decelerate && scrollView == self.scrollWithImageView) { 
     if (self.scrollDirection == ScrollDirectionDown) { 
      // swipe down 
     } 
     else { 
      // swipe up 
     } 
    } 
} 

- (void)scrollViewDidScroll:(UIScrollView *)scrollView { 
    if (scrollView == self.scrollWithImageView) { 
     // scroll direction 
     if (self.lastContentOffset < scrollView.contentOffset.y) { 
      self.scrollDirection = ScrollDirectionDown; 
     } 
     else if (self.lastContentOffset > scrollView.contentOffset.y) { 
      self.scrollDirection = ScrollDirectionUp; 
     } 

     self.lastContentOffset = scrollView.contentOffset.y; 
    } 
} 

@end