我想动画化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
    })

}

最佳答案

如果要设置动画,请调用以下方法,

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

更具体地说,您还应该处理方向更改,如下所示,
override func didRotateFromInterfaceOrientation(fromInterfaceOrientation: UIInterfaceOrientation)
{
    self.collectionView.performBatchUpdates(nil, completion: nil)

}

10-08 05:45
查看更多