美文网首页
iOS-Swift-UICollectionViewCell居左

iOS-Swift-UICollectionViewCell居左

作者: 爱心随2012 | 来源:发表于2019-01-11 14:26 被阅读0次
如下图要实现内容居左对齐,先获取每个cell的宽度,然后自定义UICollectionViewFlowLayout,以下方法只是实现简单需求:
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]? {
        //获取系统帮我们计算好的Attributes
        let layoutAttributes = super.layoutAttributesForElements(in: rect)
        
        for i in 1..<layoutAttributes!.count {
            //获取cell的Attribute,根据上一个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
    }
}

相关文章

网友评论

      本文标题:iOS-Swift-UICollectionViewCell居左

      本文链接:https://www.haomeiwen.com/subject/scjxdqtx.html