Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/105.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
导致可见性问题的动态大小collectionView单元格-iOS_Ios_Objective C_Dynamic_Uicollectionview_Cgsize - Fatal编程技术网

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

导致可见性问题的动态大小collectionView单元格-iOS,ios,objective-c,dynamic,uicollectionview,cgsize,Ios,Objective C,Dynamic,Uicollectionview,Cgsize,我有一个3列多行的集合视图。在mySizeFormiteIndeXPath中,我返回一个动态的CGSize,如下所示: return CGSizeMake(_sponsoredCollectionView.frame.size.width/3 - 7, (_sponsoredCollectionView.frame.size.width/3 - 7 + nameHeight + cuisineHeight + addressHeight + timingHeight + paddings));

我有一个3列多行的集合视图。在my
SizeFormiteIndeXPath
中,我返回一个动态的
CGSize
,如下所示:

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

dispatch_async(dispatch_get_main_queue(), ^{
                        [self.sponsoredCollectionView performBatchUpdates:^{
                            _sponsoredCollectionViewHeightConstraint.constant = _sponsoredCollectionView.collectionViewLayout.collectionViewContentSize.height + 5;//_sponsoredCollectionView.contentSize.height + 5;
                        } completion:nil];
                    });
但在上述大小下,我的最后一个单元格不会显示(我不明白为什么,因为返回的高度与以前的单元格相似,并且与以前的单元格一样有很大的显示空间),请参见下面的屏幕截图:

当我将尺寸硬编码为以下值时:

return CGSizeMake(_sponsoredCollectionView.frame.size.width/3 - 7,250);
如图所示(单元格标题为“科口”,但由于硬编码250的高度,上面和下面显然有很多空白,请参见下面的屏幕截图:

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

[_sponsoredCollectionView reloadData];

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

我无法理解问题是什么:S请帮助!

经过一整晚的反复试验和研究,我最终通过更改
\u发起的CollectionViewHeightConstraint来解决它。在
性能更新中使用常量
,如下所示:

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

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

请问有人能帮忙吗?尝试了太久但无法解决