Мне удалось прокрутить элемент по индексу, например. если пользователь нажимает кнопку она переходит к последнему пунктуUICollectionView прокрутите к элементу по индексу
Вот код, который я использовал
self.collection.scrollToItemAtIndexPath(NSIndexPath(forItem: self.array.count - 1, inSection: 0), atScrollPosition: UICollectionViewScrollPosition.Top, animated: true)
Но мой вопрос как знать, если пользователь находится в нижней части или на верхняя часть UICollectionView
?
Я могу сделать это путем создания 2 функции и, если пользователь вводит на TOP UIButton
она идет вверх, и наоборот ...
Но я только хочу сделать это с помощью одного UIButton
. так что, если пользователь нажимает кнопку, код должен знать, находится ли пользователь внизу и идет вверх и наоборот. Я посмотрел на каждую функцию по адресу UICollectionView
, но, похоже, не return
, на котором пользователь на.
Я думал о чем-то логически может быть правильным, так как это один
var someBool: Bool!
func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {
let tempIndex: Int = self.array.count/2
if indexPath.row > tempIndex{
someBool = true // UP
} else {
someBool = false // Down
}
...
}
@IBAction func buttonPressed{
if someBool{
self.collection.scrollToItemAtIndexPath(NSIndexPath(forItem: 0, inSection: 0), atScrollPosition: UICollectionViewScrollPosition.Top, animated: true)
} else {
self.collection.scrollToItemAtIndexPath(NSIndexPath(forItem: self.array.count - 1, inSection: 0), atScrollPosition: UICollectionViewScrollPosition.Top, animated: true)
}
}
это значит, давайте предположим, массив имеет 9 элементов/2 = 4 (INT), так что если пользователь выбирает пункт 9, 9> 4 истина идет вверх вниз.
Я считаю, что этот код работает хорошо, только если пользователь выбирает элемент, но мне нужен альтернативный способ без использования indexPath.row
, так как предположим, что пользователь не выбрал какой-либо элемент ... так что этот код не будет работать ....
Можете ли вы использовать свойство contentOffset для коллекции? (Если нет, можете ли вы объяснить, почему это не сработает для вас?) –
uhmm, 'contentOffset'? что это свойство? не могли бы вы показать мне образец кода? –
См. Https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIScrollView_Class/#//apple_ref/occ/instp/UIScrollView/contentOffset и http://www.objc.io/issues/3 -views/scroll-view/ –