2016-09-14 3 views
4

У меня есть один CollectionViewController и в нем 10 ячеек.CollectionView прокрутите страницу вверх

Но когда я запустил приложение, он отображает ячейку внизу, но я хочу отобразить ее из верхней ячейки в viewDidLoad.

Я пробовал много вещей, но это не сработало.

Как это исправить?

+1

пожалуйста, поделитесь код .. –

+0

Я использую это, https://cocoapods.org/pods/SFFocusViewLayout. @PoojaSrivastava – KAR

+0

@KAR Пожалуйста, поделитесь некоторым кодом и скриншотом о том, какой тип коллекции вы хотите получить? Как в чем проблема? –

ответ

2

Добавьте эту строку после перезагрузки вида сбора.

[self.collectionView scrollToItemAtIndexPath:indexPath atScrollPosition:UICollectionViewScrollPositionTop animated:NO]; 

Edit:

Просто хочу добавить еще один пункт здесь, если CollectionView DataSource имеет нулевые элементы или это nil то выше код не будет работать, и, вероятно, привести к сбою приложения.

Записать условие для проверки наличия источника данных или нет!

if (self.dataArray.count > 0) { 
    [self.collectionView scrollToItemAtIndexPath:indexPath atScrollPosition:UICollectionViewScrollPositionTop animated:NO]; 
} 

Где, dataArray ваш источник данных.

+0

Если вы чувствуете, что этот вопрос будет полезен для других, чем вопрос вверх. @Aisha – KAR

+0

@KAR Да Уверенный .. – User511

+0

благодарит за это. @Aisha – KAR

-2

Чтобы отобразить данные из верхней ячейки в CollectionView вы можете использовать один метод

[collectionView setScrollsToTop:YES]; 

Надеется, что это поможет вам.

0

Пожалуйста, попробуйте это один

[self.yourcollectionview scrollToItemAtIndexPath:indexPath atScrollPosition:UICollectionViewScrollPositionTop animated:NO]; 
+0

где добавить эту строку? @Monika patel – KAR

+0

@KAR: добавьте эту строку после '[self.collectionview reloaddata];' –

+0

@KAR: Пожалуйста, проголосуйте за мой ответ. Если мой ответ вам полезен –

3

в быстром 3: после того, как reloadData()

self.collectionView.setContentOffset(CGPoint(x:0,y:0), animated: true) 
Смежные вопросы