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