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 열를 표시하십시오.
아무도 모르는 사람이 있으면 알려 주시기 바랍니다.
미리 감사드립니다.
레이아웃을 코딩해야한다고 생각합니다. 인터넷에서 찾아 볼 수있는 대부분의 자습서에서 동일한 항목 높이 또는 너비와 가변 폭 또는 높이를 각각 볼 수 있습니다. 귀하의 경우 높이와 너비가 다른 2 가지 유형의 품목이 있습니다. 당신은 그 품목을 너 자신 배치해야한다. –
http://stackoverflow.com/questions/43186246/uicollectionview-layout-like-snapchat/43409440#43409440? 프레임을 직접 계산하면됩니다. – Larme
고마워요 @ 라임 제공 한 링크에서 신속한 버전을 만들었습니다. –