iOS 小笔记 | 当只有一个宽度自适应的 UICollectionViewCell 时,让其靠左

如果使用系统提供的UICollectionViewFlowLayout,当 UICollectionViewCell 宽度自适应且只有一个时,其展示方式如下:

iOS 小笔记 | 当只有一个宽度自适应的 UICollectionViewCell 时,让其靠左_第1张图片
这个cell是居中的

然而我们有时并不希望它居中,而是想让它靠左边展示,这该如何操作?

Easy,对UICollectionViewFlowLayout进行简单改造即可:

class LeftSideLayout: UICollectionViewFlowLayout {
    
    override func layoutAttributesForElements(in rect: CGRect) -> [UICollectionViewLayoutAttributes]? {
        
        let attributes = super.layoutAttributesForElements(in: rect)
        
        if attributes?.count == 1 {
            
            if let currentAttribute = attributes?.first {
                currentAttribute.frame = CGRect(x: self.sectionInset.left, y: currentAttribute.frame.origin.y, width: currentAttribute.frame.size.width, height: currentAttribute.frame.size.height)
            }
            
        }
       
        return attributes
        
    }
    
}

效果:

iOS 小笔记 | 当只有一个宽度自适应的 UICollectionViewCell 时,让其靠左_第2张图片
现在cell靠左了

你可能感兴趣的:(iOS 小笔记 | 当只有一个宽度自适应的 UICollectionViewCell 时,让其靠左)