UICollectionView - прокрутка к первой ячейке

Я использую UICollectionView, и мне нужно прокрутить до первой ячейки после нажатия кнопки.

Кнопка находится в секции большого заголовка в моем представлении коллекции... при нажатии int it мне нужно прокрутить до первой ячейки, расположенной ниже этой кнопки.

Я создал действие этой кнопки, но я не знаю, как прокрутить до первого UICollectionViewCell.

Может кто-нибудь мне помочь?

Ответ 1

Используйте этот метод делегата, установив indexPath в первую позицию:

Свифта

self.collectionView?.scrollToItemAtIndexPath(NSIndexPath(forItem: 0, inSection: 0), 
                                                atScrollPosition: .Top, 
                                                        animated: true)

Swift 3

self.collectionView?.scrollToItem(at: IndexPath(row: 0, section: 0), 
                                  at: .top, 
                            animated: true)

Objective-C

[self.collectionView scrollToItemAtIndexPath:[NSIndexPath indexPathForItem:0 inSection:0] 
                            atScrollPosition:UICollectionViewScrollPositionTop
                                    animated:YES];

Измените UICollectionViewScrollPositionTop, если вы хотите прокручивать и останавливаться в другой позиции

Ответ 2

Возможно, возможно использовать свойство, связанное с UIScrollView

collectionView.contentOffset.x = 0

Ответ 3

Вы можете использовать это для Objective - C

        [self.restaurantCollectionView setContentOffset:CGPointZero animated:YES];

Ответ 4

Default CollectionView Delgeate...

- (void)scrollToItemAtIndexPath:(NSIndexPath *)indexPath atScrollPosition:(UICollectionViewScrollPosition)scrollPosition animated:(BOOL)animated;

Ответ 5

if let indexPath = self.collectionView?.indexPathForItem(at: CGPoint(x: 0, y: 0)) {
            self.collectionView?.scrollToItem(at: indexPath, at: .top, animated: false)
}