尝试在 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( 有关,但是当我尝试根据屏幕宽度更改它时,它崩溃了。
谢谢
看起来您的某个元素在调整框架大小后超出了 UICollectionView 的大小
在重新加载数据之前,请尝试使当前布局失效:
self.collectionView.collectionViewLayout.invalidateLayout()