iOS-Swift-UICollectionViewCell居左顯示

如下圖要實(shí)現(xiàn)內(nèi)容居左對(duì)齊,先獲取每個(gè)cell的寬度,然后自定義UICollectionViewFlowLayout,以下方法只是實(shí)現(xiàn)簡(jiǎn)單需求:
image.png

第一步自定義UICollectionViewFlowLayout

class SelectTypeFlowLayout: UICollectionViewFlowLayout {
    
    override func prepare() {
        super.prepare()
        minimumLineSpacing = 15       //cell的間距
        minimumInteritemSpacing = 10
        sectionInset = UIEdgeInsetsMake(0, ScaleWidth(15), 0, ScaleWidth(15))
        collectionView?.alwaysBounceVertical = true
    }
    
    override func layoutAttributesForElements(in rect: CGRect) -> [UICollectionViewLayoutAttributes]? {
        //獲取系統(tǒng)幫我們計(jì)算好的Attributes
        let layoutAttributes = super.layoutAttributesForElements(in: rect)
        
        for i in 1..<layoutAttributes!.count {
            //獲取cell的Attribute,根據(jù)上一個(gè)cell獲取最大的x,定義為originX
            let current = layoutAttributes![i]
            let last = layoutAttributes![i-1]
            let originX = last.frame.origin.x + last.frame.size.width
            
            if current.frame.origin.y == last.frame.origin.y {
                current.frame.origin.x = originX+minimumInteritemSpacing
            }
        }
        
        return layoutAttributes
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容