Swift UICollectionViewLayout contentSize崩溃

时间:2017-08-21 12:03:45

标签: ios swift uicollectionview

尝试在iOS中的4“屏幕上调整集合视图的内容大小,我在控制台中使用集合视图流布局在宽度上收到错误。

        if DeviceType.IS_4_INCH {
        collectionView.contentSize = CGSize(width: screenWidth - 50, height: collectionView.collectionViewLayout.collectionViewContentSize.height)
    }

错误:

The relevant UICollectionViewFlowLayout instance is 
<UICollectionViewFlowLayout: 0x7fbb9144dd20>, and it is attached to 
<UICollectionView: 0x7fbb92885800; frame = (10 10; 270 750); clipsToBounds = YES; autoresize = RM+BM; gestureRecognizers = <NSArray: 0x7fbb914d25e0>; layer = <CALayer: 0x7fbb9147f560>; contentOffset: {0, 0}; contentSize: {325, 750}> collection view layout: 
<UICollectionViewFlowLayout: 0x7fbb9144dd20>.

我看到问题与内容大小(325)有关,当帧为270时,但是当我尝试根据屏幕宽度更改它时,它会崩溃。

由于

1 个答案:

答案 0 :(得分:0)

在调整框架

后,看起来你的某个元素超出了UICollectionView的大小

在重新加载数据之前尝试使当前布局无效:

self.collectionView.collectionViewLayout.invalidateLayout()