簡體   English   中英

自定義布局UICollectionView swift

[英]Custom layout UICollectionView swift

我正在嘗試實現這樣的自定義布局:

想要布局

我試圖通過UICollectionView實現它。 首先,我使用此代碼來獲得所需的大小:

func collectionView(collectionView: UICollectionView,
    layout collectionViewLayout: UICollectionViewLayout,
    sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize{
        return CGSizeMake((collectionView.frame.size.width / 2) - 2 , (collectionView.frame.size.height / 3) - 2)
}

一切正常。

問題是我的圖片沒有正確居中。 我是這樣做的:

情節提要中的約束

讓我解釋 :

  1. 一種約束以在X上對齊uiimage的中心
  2. 在Y上做相同事情的一個約束
  3. 保持圖像比例的一種約束
  4. 可以說圖像的高度是像元高度的70%

    結果非常不理想:

布局的實際結果

我做到了使用自定義布局。

    let collLayout:UICollectionViewFlowLayout = layout as! UICollectionViewFlowLayout
    collLayout.scrollDirection = .Vertical
    collLayout.minimumInteritemSpacing = 10
    let width = (frame.size.width - 3*collLayout.minimumInteritemSpacing)*0.5

    collLayout.itemSize = CGSizeMake(width, width)

    collLayout.sectionInset = UIEdgeInsetsMake(0, 10, 0, 10)

然后使用此自定義布局初始化您的集合視圖。

暫無
暫無

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

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