Подтвердить что ты не робот

Анимация Изменение размера ячейки ячейки UICollectionView и перемещение окружающих ячеек

enter image description here

Цель:

Анимация изменения высоты ячейки и перестановки окружающих ячеек.

Сценарий:

Некоторые ячейки в представлении коллекции загружают удаленные изображения. Первоначально эти ячейки имеют размер статически и отображается индикатор активности. После загрузки изображения он добавляется в его ячейку, а высота ячейки изменяется, чтобы соответствовать фотографии.

Примечания:

Я оживляю изменение рамки ячейки с помощью animateWithDuration. Это прекрасно работает, за исключением того, что увеличенный размер ячейки перекрывает ячейки ниже. Я вслепую попытался позвонить collectionView.collectionViewLayout invalidateLayout после изменения размера ячейки-мишени и обновления размера, возвращаемого sizeForItemAtIndexPath без успеха.

Любые предложения? Спасибо!

Пример кода:

https://github.com/juzzin/ResizeUICollectionViewCell/blob/master/ResizeUICollectionViewCell/FLOViewController.m

enter image description here

4b9b3361

Ответ 1

В основном вам нужно выполнить три шага

1.Подтвердите коллекциюViewLayout

Обновление пакета 2.perform:

 ...
 //invalidate layout
[collectionView performBatchUpdates:^{
    // make your cell at indexPath return a new size
} completion:^(BOOL finished) {

}];

3. Верните новый размер в sizeForItemAtIndexpath