我有一个CollectionView,它在运行时生成9个collectionview单元(以编程方式设置)。

情节提要中只有一个CollectionView单元。

我质疑如何将约束设置为Cell,使其如屏幕截图所示。

ios - Xcode 7:自动布局到以编程方式生成的UICollectionViewCell-LMLPHP

最佳答案

因为您的布局显示每行3个单元格。您需要将集合视图宽度除以3并加上分隔符。一种好方法是使用自动布局在左,右,上,下附加收藏视图。并使用以标签为中心的虚拟单元格。您需要以编程方式对此委托进行工作。

 - (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath
{
    CGFloat screenWidth = collectionViewFrame.size.width;
    float cellWidth = screenWidth / 3.0 - 20; //Replace the divisor with the column count requirement. Make sure to have it in float.
    CGSize size = CGSizeMake(cellWidth, cellWidth);

    return size;
}

10-08 17:13