UICollectionView масштабирует всю сетку

#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()
})
  

Представление коллекции не обязательно прокручивать после анимации (я намерен использовать его только как переход к другому представлению).