左对齐一个UICollectionView

Tom*_*ran 1 ios uicollectionview swift

我有一个像这样的UICollectionView:

在此输入图像描述

在此输入图像描述

在此输入图像描述

这是三种不同的情况.浅灰色显示集合视图的边框,深灰色显示单元格.我已经将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)
}
Run Code Online (Sandbox Code Playgroud)

有什么建议?

Sea*_*ern 6

似乎问题应该是读,左对齐一个UICollectionView.

最简单的解决方案是:

https://github.com/mokagio/UICollectionViewLeftAlignedLayout

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