gpt4 book ai didi

ios - Swift - 无法动态更改 UICollectionViewFlowLayout

转载 作者:搜寻专家 更新时间:2023-10-31 22:20:43 26 4
gpt4 key购买 nike

viewDidLoad 上,我为 UICollectionViewCell 设置了一个 collectionViewLayout 并带有一个 UILabel 说“加载内容... ",当应用程序从服务器获取内容时,它会执行如下操作:

let layout: UICollectionViewFlowLayout = UICollectionViewFlowLayout()
...
// some configuration for the layout

// here it crash:
collectionView.setCollectionViewLayout(layout, animated: true)

它因说出这条消息而崩溃:

* Terminating app due to uncaught exception 'NSRangeException', reason: '* -[__NSArrayM objectAtIndex:]: index 0 beyond bounds for empty array' *** First throw call stack: (0x24479b0b 0x23c36dff 0x2438a6d3 0x29275999 0x29271d13 0x29272aaf 0x28be537f 0x28be4667 0x1778dc 0x165f48 0x1661b8 0x16e774 0x16f038 0xf950c 0xf9174 0xdefb0 0xe1934 0xdf98c 0x52ed78 0x52d700 0x52bfc8 0x4df9c0 0x1531ba7 0x1531b93 0x1536659 0x2443b755 0x24439c4f 0x243881c9 0x24387fbd 0x259a4af9 0x28ac0435 0x131254 0x24034873) libc++abi.dylib: terminating with uncaught exception of type NSException

我做的事情是设置一个 collectionViewLayout 将其替换为另一个。

我试图在替换 collectionViewLayout 之前使用 invalidateLayout() 重新加载或不重新加载 collectionView 使布局无效,但它仍然崩溃。

如何动态更改 collectionViewLayout?或者我做错了什么?

谢谢

最佳答案

我在 iOS9 和 iOS8 上遇到了同样的问题。

以我为例,在collectionView.collectionViewLayout.invalidateLayout()之后调用collectionView.layoutIfNeeded()即可解决。

关于ios - Swift - 无法动态更改 UICollectionViewFlowLayout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38647561/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com