Как изменить размер ячейки (возможно, используя .transform
) при ее интерактивном использовании, например, перетаскивая ячейку, чтобы изменить ее порядок?
У меня есть средство распознавания жестов, подключенное к моему виду контроллер, который обрабатывает интерактивность.
@objc func handleLongGesture(gesture: UILongPressGestureRecognizer) {
switch gesture.state {
case .began:
guard let selectedIndexPath =
imageCollectionView.indexPathForItem(at: gesture.location(in: imageCollectionView)) else {
break
}
imageCollectionView.beginInteractiveMovementForItem(at: selectedIndexPath)
case .changed:
imageCollectionView.updateInteractiveMovementTargetPosition(
gesture.location(in: gesture.view!)
)
case .ended:
imageCollectionView.performBatchUpdates {
self.imageCollectionView.endInteractiveMovement()
}
default:
imageCollectionView.cancelInteractiveMovement()
}
}
И метод делегата движения следующим образом:
func collectionView(_ collectionView: UICollectionView,
moveItemAt sourceIndexPath: IndexPath,
to destinationIndexPath: IndexPath) {
guard let image = selectedItems?.remove(at: sourceIndexPath.row) else {
return
}
selectedItems?.insert(image, at: destinationIndexPath.row)
}
Когда я удерживаю и включаю интерактивность для определенной ячейки c, я хочу ячейка вырастет на 25%, чтобы показать, что она удерживается и является интерактивной - могу ли я это сделать?