В настоящее время я работаю над быстрым приложением. В одном контроллере представления у меня есть collectionView
с горизонтальной прокруткой. collectionView
выглядит как горизонтальные вкладки с большим количеством вкладок. Таким образом, некоторые collectionViewCell's
не видны в начальный момент времени.
Что мне нужно, так это то, что я хочу автоматически прокручивать collectionView к следующей ячейке (если collectionView имеет невидимую ячейку справа) или к предыдущей ячейке (если у нее есть невидимая ячейка слева), когда я выбираю collectionViewCell
. Я использовал какао-бобы (SwipeMenuViewController
), но это создает некоторые проблемы с презентацией. Пожалуйста, помогите мне реализовать то же самое с collectionView.
Пожалуйста, посмотрите на изображение для большей ясности.
Это мой код,
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return self.tabArray.count
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "tabCell", for: indexPath) as! tabCollectionViewCell
cell.tabLabel.text = self.tabArray[indexPath.row]
if selectedTabArray.contains(indexPath) {
cell.bottomView.isHidden = false
} else {
cell.bottomView.isHidden = true
}
return cell
}
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
self.selectedTabArray.removeAll()
selectedTabArray.append(indexPath)
self.tabCollectionView.reloadData()
tabCollectionView.scrollToItem(at: indexPath, at: .centeredHorizontally, animated: true)
}
.centeredHorizontally
, а не.centeredVertically
22.01.2020