gpt4 book ai didi

ios - CollectionView collectionViewLayout 在第二次重新加载数据时工作

转载 作者:行者123 更新时间:2023-11-28 05:58:03 27 4
gpt4 key购买 nike

我在 oneView Controller 中有六个 UICollectionView,取决于用户选择的状态,我想重新加载集合数据。我的收藏 View 应该是水平滚动方向,动态大小单元格。有我的 set collectionViewLayout 代码,此代码在所有 IPAD 和 IPHONE 中都可以正常工作,但 IPHONE“5”IOS 10 及更高版本存在问题。当调用第一个 Collection View reloadData 时,没有任何显示并且 collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) 不调用。在接下来的 collectionView 重新加载数据中调用此方法调用并且 UI 更新成功。这个设备有什么问题?

private func setFlowLayout() {

let flowLayout = UICollectionViewFlowLayout()
flowLayout.scrollDirection = UICollectionViewScrollDirection.horizontal
flowLayout.minimumInteritemSpacing = 10.0
flowLayout.sectionInset = UIEdgeInsets(top: 0.0, left: 5.0, bottom: 0.0, right: 5.0)
flowLayout.estimatedItemSize = CGSize(width: 1,height: 1)
flowLayout.estimatedItemSize = CGSize(width: 1,height: 1)
collectionView.collectionViewLayout = flowLayout
collectionView.collectionViewLayout.invalidateLayout()

}

最佳答案

我想通了问题出在哪里,这是 iOS 10 中 UIKit 的一个错误。首先在viewDidLayoutSubviews中调用invalidateLayout

override func viewDidLayoutSubviews() {
super.viewWillLayoutSubviews()
collectionView.collectionViewLayout.invalidateLayout()
}

最后在 collectionView.reloadData() 之后调用 invalidateLayout

关于ios - CollectionView collectionViewLayout 在第二次重新加载数据时工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50775302/

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