gpt4 book ai didi

ios - 动态大小的 collectionView 单元导致可见性问题 - iOS

转载 作者:行者123 更新时间:2023-11-29 11:29:11 24 4
gpt4 key购买 nike

我有一个 3 列和多行的 Collection View 。在我的 sizeForItemAtIndexPath 中,我返回一个动态的 CGSize,如下所示:

return CGSizeMake(_sponsoredCollectionView.frame.size.width/3 - 7, (_sponsoredCollectionView.frame.size.width/3 - 7 + nameHeight + cuisineHeight + addressHeight + timingHeight + paddings));

但是在上面的尺寸下,我的最后一个单元格没有显示(我不明白为什么,因为返回的高度与之前的单元格相似并且有很多空间可以显示,如以前的单元格),请参见下面的屏幕截图: enter image description here

当我将大小硬编码为以下内容时:

return CGSizeMake(_sponsoredCollectionView.frame.size.width/3 - 7,250);

显示(带有 KEKOU 标题的单元格,但由于硬编码 250 高度,显然上下有很多空白,请参见下面的屏幕截图: enter image description here

此外,我正在执行以下操作,以便 CollectionView 在重新加载后根据单元格调整大小

[_sponsoredCollectionView reloadData];

dispatch_async(dispatch_get_main_queue(), ^{
_sponsoredCollectionViewHeightConstraint.constant = _sponsoredCollectionView.collectionViewLayout.collectionViewContentSize.height + 0;
});

我无法理解问题所在:S 请帮忙!

最佳答案

最后,经过一整夜的反复试验和研究,我通过更改 performBatchUpdates 中的 _sponsoredCollectionViewHeightConstraint.constant 解决了这个问题,如下所示:

[_sponsoredCollectionView reloadData];

dispatch_async(dispatch_get_main_queue(), ^{
[self.sponsoredCollectionView performBatchUpdates:^{
_sponsoredCollectionViewHeightConstraint.constant = _sponsoredCollectionView.collectionViewLayout.collectionViewContentSize.height + 5;//_sponsoredCollectionView.contentSize.height + 5;
} completion:nil];
});

关于ios - 动态大小的 collectionView 单元导致可见性问题 - iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55364652/

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