左对齐UICollectionView

时间:2016-12-19 13:26:00

标签: ios swift uicollectionview

我有一个像这样的UICollectionView:

enter image description here

enter image description here

enter image description here

这是三种不同的情况。浅灰色显示集合视图的边框,深灰色显示单元格。 我已经将min spacing和section insets设置为0.但是我仍然得到这些不需要的插入内容,而且似乎只有当有超过1个单元格时才会发生。

我像这样计算项目大小:

func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {
    guard let item = place?.publicTransports?[indexPath.row] else {
        return CGSize.zero
    }

    var lines = ""
    for (i, line) in item.lines.enumerate() {
        lines.appendContentsOf(line)
        if i != item.lines.count - 1 {
            lines.appendContentsOf(", ")
        }
    }

    let linesString = lines as NSString
    return CGSize(width: linesString.sizeWithAttributes(nil).width + 35 + 20, height: collectionView.bounds.height/2)
}

有什么建议吗?

1 个答案:

答案 0 :(得分:6)

似乎应该阅读这个问题,左对齐一个UICollectionView。

最简单的解决方案是:

https://github.com/mokagio/UICollectionViewLeftAlignedLayout

并将您的布局子类化为此,这将确保您的UICollectionView左对齐,您应首先将所有insets设置为0,然后根据您的设计开始更改它们。