0
如何使用集合視圖實現圖像中顯示的佈局?如何在集合視圖中實現不同行數的列數
我試圖使用瀑布流佈局從下面的鏈接,但沒有獲得成功,去實現它。 https://github.com/chiahsien/CHTCollectionViewWaterfallLayout
下面是我嘗試這樣做的代碼。
override func viewDidLoad() {
super.viewDidLoad()
let identifier = String(describing: collectionCell.self)
collectionView.register("collectionCell", forCellWithReuseIdentifier: "collectionCell")
collectionView.register(UINib(nibName: "collectionCell", bundle: nil), forCellWithReuseIdentifier: identifier)
let layout = CHTCollectionViewWaterfallLayout()
layout.sectionInset = UIEdgeInsets(top: 10, left: 10, bottom: 10, right: 10)
layout.minimumInteritemSpacing = 0
layout.minimumColumnSpacing = 10
collectionView.collectionViewLayout = layout
}
//用於設置電池
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: IndexPath) -> CGSize {
let width = Double((self.collectionView.bounds.size.width-(4*minimumSpaceBetweenCells))/3)
if indexPath.row == 0 {
return CGSize(width:width * 2, height: width * 2)
}
else
{
return CGSize(width:width, height: width)
}
}
的大小,但它只是顯示2列大小相同的所有行。
請讓我知道,如果有人有想法如何做到這一點。
在此先感謝。
我認爲你必須編碼佈局。請參閱在互聯網上找到的大多數教程,它們分別具有相同的項目高度或寬度以及可變的寬度或高度。在你的情況下,你有兩種不同高度和寬度的物品。你必須自己佈置這些物品。 –
http://stackoverflow.com/questions/43186246/uicollectionview-layout-like-snapchat/43409440#43409440?只需計算自己的框架,這很容易。 – Larme
謝謝@Larme我從你提供的鏈接創建了一個快速版本,它適用於我。 –