2015-04-30 3 views
0

Я пытаюсь анимировать высоту первой ячейки, а остальные - прокручивать вверх или вниз. Внутри клетки является вид изображения с .ScaleAspectFillКак анимировать одну ячейку UICollectionView с длительностью

мне удалось это сделать, если переход в интерактивном режиме с invalidateLayout() и sizeForItemAtIndexPath, но я не могу понять, как оживить до конечного состояния

Вот что я делаю:

let cell = collectionView!.cellForItemAtIndexPath(NSIndexPath(forItem: 0, inSection: 0)) as! HomeFeedCell 
var size:CGSize = getNewSize(cell) 

UIView.transitionWithView(collectionView!, duration: duration, options: .CurveEaseOut | .LayoutSubviews, animations: { 
       cell.frame.size.height = size.height 
      }, completion: nil) 

Это анимирует первую ячейку, но не перемещает остальные ячейки. Я попробовал invalidateLayout() или перезарядку видимые ячеек внутри блока анимации, но это дает странный результат

ответ

0

Так что, если кто-то застряли с таким же ответом также называет performBatchUpdates Представления коллекции с нулевыми обновлениями: блок

let cell = collectionView!.cellForItemAtIndexPath(NSIndexPath(forItem: 0, inSection: 0)) as! HomeFeedCell 
var size:CGSize = getNewSize(cell) 

UIView.transitionWithView(collectionView!, duration: duration, options: .CurveEaseOut | .LayoutSubviews, animations: { 
       cell.frame.size.height = size.height 
      }, completion: nil) 

collectionView!.performBatchUpdates(nil, completion: nil) 
Смежные вопросы