5

Ich möchte die Größenanpassung einer UICollectionViewCell animieren. Ich habe den folgenden Code geschrieben, kann aber nicht die return Zeile im Animationsblock haben. Irgendwelche Ideen?Animate UICollectionView sizeForItemAtIndexPath (Swift)

func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize { 

    var newSize = CGSize(width: (self.view.frame.width), height: 0) 


    UIView.animateWithDuration(2.0, animations: {() -> Void in 
     return newSize 
    }) 

} 

Antwort

0

Anruf folgende Methode, wenn Sie animieren möchten,

self.collectionView.performBatchUpdates(updates: (() -> Void), completion:((Bool) -> Void)?) 

Genauer gesagt, sollten Sie auch Orientierungsänderung behandeln, wie unten,

override func didRotateFromInterfaceOrientation(fromInterfaceOrientation: UIInterfaceOrientation) 
{ 
    self.collectionView.performBatchUpdates(nil, completion: nil) 

} 
Verwandte Themen