自定义UICollectionViewLayout和约束

时间:2016-09-16 15:52:07

标签: ios swift uicollectionview uicollectionviewlayout

我有自定义流程布局。我知道我的细胞需要在哪里。我目前为每个单元格创建特定的帧。但是,我担心不同大小的iPhone,所以我想探索创建约束。我知道这必须在函数中完成 prepareForLayout()。

override func prepareLayout() {
    for item in 0 ..< collectionView!.numberOfItemsInSection(0){
        let indexPath = NSIndexPath(forItem: item, inSection: 0)
        let attributes = UICollectionViewLayoutAttributes(forCellWithIndexPath: indexPath)
        cache.append(attributes)
    }
    //This is where I want to do work for creating constraints for my cells
}

我想问题是你可以在创建自己的自定义流程布局时在单元格之间创建约束

1 个答案:

答案 0 :(得分:0)

  

问题是,在创建自己的自定义流程布局时,是否可以在单元格之间创建约束

没有。约束和集合视图布局是对立的。集合视图布局逐帧定位。

但是,您知道集合视图维度是什么(self.collectionView!.bounds.size),因此您的项目框架可以考虑到这一点。他们应该这样做!毕竟,这就是正常的流布局在将行空出来以使其左右对齐时的工作方式。这只是做一点基本算术的问题。