所以我有一个如下所示的集合视图:
----------- ----------------
| some text | | Some more text |
----------- ----------------
----------------------- -----------------------
| Some really Long text | | Some longer text here |
----------------------- -----------------------
我希望如此:
----------- ----------------
| some text | | Some more text |
----------- ----------------
----------------------- -----------------------
| Some really Long text | | Some longer text here |
----------------------- -----------------------
我能够让我的单元格动态调整它们的宽度以允许标签显示其文本,但我希望所有单元格都与它们的部分插入对齐而不是居中。
编辑: 到目前为止,我已经尝试了很多东西,但这是最后一件事(实际上没有工作)
class LeftAlignedCollectionViewFlowLayout: UICollectionViewFlowLayout {
override func layoutAttributesForElements(in rect: CGRect) -> [UICollectionViewLayoutAttributes]? {
let attributesForElementsInRect = super.layoutAttributesForElements(in: rect)
var newAttributesForElementsInRect = [UICollectionViewLayoutAttributes]()
for attributes in attributesForElementsInRect! {
let refAttributes = attributes
refAttributes.frame.origin.x = self.sectionInset.left + 8
newAttributesForElementsInRect.append(refAttributes)
}
return newAttributesForElementsInRect
}
}
我不确定是否更容易将每个单元格的宽度设置为彼此相等的部分,这会强制部分中的所有单元格彼此对齐而不是居中该部分。我不知道如何处理这个问题 - sizeForItemAt似乎是宫殿开始,但我不想覆盖自动布局为标签动态设置宽度。