簡體   English   中英

集合視圖單元格的高度和寬度迅速

[英]collection view cell Hight and width in swift

集合視圖中有多個圖像可以正常工作。 像這樣顯示

在此處輸入圖片說明

但是我想這樣表演

在此處輸入圖片說明

這是集合視圖單元格的代碼

 let layout: UICollectionViewFlowLayout = UICollectionViewFlowLayout()
 layout.sectionInset = UIEdgeInsets(top: 10, left: 0, bottom: 20, right: 0)
 let width = UIScreen.main.bounds.width
 layout.itemSize = CGSize(width: width/2 , height: width/2 )
 layout.minimumInteritemSpacing = 0
 layout.minimumLineSpacing = 0
 collectionView!.collectionViewLayout = layout

只是執行一些UICollectionViewDelegateFlowLayout方法來獲取正確的大小和間距UICollectionViewCells

例:

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize
{
    let cellSize = CGSize(width: (collectionView.bounds.width - (3 * 10))/2, height: 120)
    return cellSize
}

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat
{
    return 10
}

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets
{
    let sectionInset = UIEdgeInsetsMake(10, 10, 10, 10)
    return sectionInset
}

只需根據您的要求更改大小和間距值。

在您的ViewController上添加此方法

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: IndexPath) -> CGSize {
        return CGSize(width: ((self.view.frame.size.width/2) - 10), height: 255)
    }

嘗試,

collectionViewCellImageView.contentMode = .scaleToFill

您可以嘗試為集合視圖設置單元格和行的最小間距,並實現波紋管委托

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
        return CGSize(width: (collectionView.frame.width/2) - 5, height: collectionView.frame.width/2)
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM