设备方向更改时如何更改 UiCollectionView 单元格大小?

How to change UiCollectionView cell size when device orientation changes?

我正在使用 UICollectionView 并使用以下方法设置单元格的大小:

func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {
        return CGSizeMake(collectionView.bounds.size.width, 313)
    }

加载视图时单元格大小正常。但是,当方向改变时,单元格大小不会根据视图宽度和高度更新。

我尝试检测设备方向并且检测正确。当设备方向改变时,调用以下方法:

func rotated()
{
    self.shareLogCollectionView.reloadData()
}

但是,我收到以下错误: 致命错误:在展开可选值

时意外发现 nil

那么,如何更新单元格大小并根据设备方向的变化进行调整?请帮忙!

正如@krishnanunni 已经提到的,

请检查shareLogCollectionView是否连接了正确的outlet。 这是一个很常见的错误。

也可以使用 viewWillTransitionToSize

进行旋转

请检查。