#ios #swift #uicollectionview #uikit
#iOS #swift #uicollectionview #uikit
Вопрос:
Я использую UICollectionView для отображения сетки ячеек с 3 столбцами. Когда выбрана ячейка, я бы хотел увеличить всю коллекцию с выбранной ячейкой в центре. Я также хотел бы скрыть окружающие ячейки и сохранить выбранное при полной непрозрачности.
Следующий код масштабирует сетку, но не прокручивает до выбранной ячейки:
UIView.animate(withDuration: 0.35, animations: {
self.collectionView.transform = CGAffineTransform(scaleX: 3, y: 3)
})
Я надеялся, что смогу сделать это, изменив UICollectionViewFlowLayout и фрейм UICollectionView, но я не уверен, что я иду по неправильному пути с этим (следующий код просто перемещает все ячейки влево):
UIView.animate(withDuration: 0.35, animations: {() -> Void in
self.collectionView.setCollectionViewLayout(self.zoomedGridLayout, animated: true)
let zoomedRect = CGRect(x: -rect.width, y: 0, width: rect.width*3, height: rect.height)
self.collectionView.frame = zoomedRect
self.collectionView.collectionViewLayout.invalidateLayout()
})
Представление коллекции не обязательно прокручивать после анимации (я намерен использовать его только как переход к другому представлению).