动画UICollectionView sizeForItemAtIndexPath(Swift)

时间:2015-08-21 15:28:34

标签: ios swift uicollectionviewcell uicollectionviewlayout animatewithduration

我想为UICollectionViewCell的大小调整设置动画。我已经编写了下面的代码但是在动画块中没有return行。有什么想法吗?

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

}

1 个答案:

答案 0 :(得分:1)

如果要进行动画处理,请调用以下方法

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

更具体地说,您还应该处理方向更改,如下所示

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

}