sectionInset不使用AutoLayout在iOS8中使用UICollectionView estimatedItemSize

pet*_*ard 5 autolayout uicollectionview uicollectionviewlayout swift ios8

sectionInset.left当使用自调整单元格时,我不能让我的UICollection正确设置边距estimatedItemSize.UICollectionview的单元格应具有稍微固定的单元格高度,但根据文本长度应具有动态宽度.

以下是启用自我调整大小时的外观:

在此输入图像描述

当自动调整大小时:

在此输入图像描述

奇怪的是,它似乎sectionInset.right正在起作用,即在UICollectionView的右侧添加了边距.

这是我的自定义UICollectionViewFlowLayout,我正在使用注释切换自我大小模式.

class myFlow: UICollectionViewFlowLayout {
    required init(coder: NSCoder) {
    super.init(coder: coder)

        self.minimumLineSpacing = 1
//        self.estimatedItemSize = CGSize(width: 100, height: 35)
        self.sectionInset.left = 20
    }
Run Code Online (Sandbox Code Playgroud)

和我的自定义UICollectionView:

class myCV: UICollectionView {
    required init(coder decoder: NSCoder) {
        super.init(coder: decoder)

        self.layer.cornerRadius = 5.0
        self.layer.borderWidth = 1.0
        self.layer.borderColor = UIColor.lightGrayColor().CGColor

    }
}
Run Code Online (Sandbox Code Playgroud)

我使用AutoLayout在UICollectionView单元格中布置了标签:

在此输入图像描述

Ser*_* Jr 0

我找到了解决这个问题的方法 - 使用 的contentInset属性UIScrollView,这是 的超类UICollectionView。严格来说这并不是答案,但至少是问题的解决方案