OGeek|极客世界-中国程序员成长平台

标题: ios - Swift UICollectionViewLayout contentSize 崩溃 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 18:31
标题: ios - Swift UICollectionViewLayout contentSize 崩溃

尝试在 iOS 中调整 4"屏幕上的 Collection View 的内容大小,但我在控制台中收到关于使用 Collection View 流布局的宽度的错误。

        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>.

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

谢谢



Best Answer-推荐答案


在调整框架大小后,您的某个元素看起来超出了 UICollectionView 的大小

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

self.collectionView.collectionViewLayout.invalidateLayout()

关于ios - Swift UICollectionViewLayout contentSize 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45796646/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4