CollectionViewCell的大小不会根据CollectionView的高度而改变

问题描述 投票:0回答:1

我从设备库中将一些图像加载到CollectionView单元格中(单元格覆盖了所有CollectionView,单元格只有UIImageView覆盖了所有单元格。我正在以编程方式更改CollectionView的高度限制,如:

let screenHeight = self.view.frame.height
ilanImageHeight.constant = screenHeight / 2     // This is Collectionview height constraint

首先在情节提要中声明CollectionView的高度为510,以编程方式进行更改。

CollectionView的高度会根据视图高度自动更改。这里没有问题。但是CollectionView的单元格和UIImageview不会更改,因此takes the previous height value which is 510不会显示图像的一部分。

我也尝试:

 func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize
{
    return CGSize(width: 100, height: 100)
}

完成工作。单元格仍具有以前的Collectionview的高度值,该高度值已在情节提要中声明(510)

如何解决此问题?

ios swift uicollectionview uiimageview uicollectionviewcell
1个回答
0
投票

尝试:

class VC: UICollectionViewdelegate, UICollectionViewDelegateFlowLayout { override func viewDidLoad() { super.viewDidLoad() let layout = collectionView.collectionViewLayout as? UICollectionViewFlowLayout layout?.estimatedItemSize = .init() // this is important. } } func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { return CGSize(width: 100, height: 100) }
© www.soinside.com 2019 - 2024. All rights reserved.