Ios UICollectionView和每列上的单元格数

Ios UICollectionView和每列上的单元格数,ios,uicollectionview,Ios,Uicollectionview,如下面的屏幕截图所示,我有一个包含许多单元格的UICollectionView。目前,设备的方向为纵向 因为我有下面的代码,所以每列上有多达19个单元格 - (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout insetForSectionAtIndex:(NSInteger)section; { retu

如下面的屏幕截图所示,我有一个包含许多单元格的UICollectionView。目前,设备的方向为纵向

因为我有下面的代码,所以每列上有多达19个单元格

- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout insetForSectionAtIndex:(NSInteger)section;
{
    return UIEdgeInsetsMake(0, 100, 0, 100);
}
如果我将方向更改为横向,则每列上的单元格数将更改。无论设备的方向如何,是否可能有相同数量的列


谢谢您的帮助。

您可以采取几种方法。您可以只向IB中的集合视图添加一个宽度约束(并确保只有一个侧面约束或宽度方向的单个居中约束)


另一种方法是根据方向更改插图。您可以覆盖didRotateFromInterfaceOrientation:并检查interfaceOrientation属性以确定您所处的方向,然后适当地设置插图。

更改方向时,父项大小会减小,导致没有列减少到屏幕中的自动适配。可能您可以在文档中找到任何方法来增加行数并保留单元格号。谢谢。我已经试过后者了。它似乎不起作用。@t蓝色,它应该--你应该发布你尝试过的代码,并指出你得到了什么结果。我现在明白了为什么设置插入不能正常工作。重置每个方向的插入后,必须重新加载单元格。