gpt4 book ai didi

objective-c - UICollectionView 第一次加载时 contentSize 错误,之后更正

转载 作者:太空狗 更新时间:2023-10-30 03:11:26 25 4
gpt4 key购买 nike

我有一个带有分页和所有功能的通用 UICollectionView。

仍在尝试找出为什么在 viewDidLoad:、viewWillAppear: 和 viewDidAppear: 上,仅在第一次 View 调用时,我在调用 myCollectionView.collectionView.contentSize.width 时得到错误的大小。它始终以 0 宽度响应(高度始终正确)。连续重新加载 View 使我获得正确的 View 。

求助于使用

self.collectionView.collectionViewLayout.collectionViewContentSize

在第一次加载时给我正确的宽度事件。

对我来说还是个谜。

最佳答案

所以我看到了一个类似的问题,其中 contentSize 宽度始终为零。简单的答案是……collectionView 中可能还没有内容。这就是为什么它的内容大小为零。

我还注意到有时在我的 UICollectionView 上调用 invalidateLayout 后,我看到 self.collectionView.collectionViewLayout.collectionViewContentSizeself 不同.collectionView.contentSize

经过大量搜索,我发现了一个很好的提示 here in this SO post

为了使两个 contentSize 计算相同,我需要做的是在调用 [self.collectionView reloadData] 之后立即调用 [self.collectionView layoutIfNeeded][self.collectionView.collectionViewLayout invalidateLayout]

这实质上是强制重新加载立即发生,而不是在下一个运行循环周期发生。

我真的希望这能解决您的问题。

关于objective-c - UICollectionView 第一次加载时 contentSize 错误,之后更正,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18267687/

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