iOS) UICollectionView cell 왼쪽정렬

less than 1 minute read

UICollectionView cell 왼쪽정렬

1.다음과 같은 스위프트 파일을 만듭니다.

import Foundation
import UIKit

class LeftAlignedCollectionViewFlowLayout: UICollectionViewFlowLayout {

    override func layoutAttributesForElements(in rect: CGRect) -> [UICollectionViewLayoutAttributes]? {
        let attributes = super.layoutAttributesForElements(in: rect)

        var leftMargin = sectionInset.left
        var maxY: CGFloat = -1.0
        attributes?.forEach { layoutAttribute in
            if layoutAttribute.frame.origin.y >= maxY {
                leftMargin = sectionInset.left
            }

            layoutAttribute.frame.origin.x = leftMargin

            leftMargin += layoutAttribute.frame.width + minimumInteritemSpacing
            maxY = max(layoutAttribute.frame.maxY , maxY)
        }

        return attributes
    }
}

2.storyboard 에서 Collection View Flow Layout 의 클래스로 위의 클래스를 지정해준다.

완성

적용하게되면 오른쪽 뷰처럼 왼쪽 정렬이 된다.

Categories:

Updated: