【问题标题】:Cell spacing in UICollectionView minimumInteritemSpacingUICollectionView 中的单元格间距 minimumInteritemSpacing
【发布时间】:2014-09-24 14:27:43
【问题描述】:

如何在 UICollectionView 中设置单元格间距? UICollectionView 有一个属性minimumInteritemSpacing,我需要设置 1.0 还是不行。我实现了委托方法。

- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout minimumInteritemSpacingForSectionAtIndex:(NSInteger)section
  {
     return 1.0;
  }

【问题讨论】:

  • 这个结果怎么样?

标签: ios objective-c uicollectionviewcell uicollectionviewdelegate


【解决方案1】:

要检查您的收藏单元格的外观,您可以在情节提要的帮助下在情节提要中尝试此操作。首先只是为了检查,像这样在你的 CollectionViewController 中放置一些静态单元格,这样你的屏幕就会像这样:

不,您可以看到这些单元格以及它们之间的间距。在您的情况下,单元格将以不正确的间距显示,如上所示。所以现在打开这个屏幕,在你的 Interface Builder 中打开 Size Inspector。它看起来像这样:

现在您可以在尺寸检查器窗口中看到一些选项。您可以使用最小值调整每个单元格的大小以及它们之间的间距。间距选项。最后,为了使左右两侧的间距相等,请使用剖面插图选项。当您更改那里的值时,更改将反映在您的控制器视图中。因此,您可以了解是否要增加/减少某些值。

希望这会有所帮助。

【讨论】:

  • 关于 SO 的每个与单元格间距相关的赞成答案基本上都归结为随机变化并试图猜测各种委托方法的返回值。这是迄今为止确定您需要什么值的最快、最简单的方法。
【解决方案2】:

您可以像这样以编程方式设置

UICollectionViewFlowLayout *layout=[[UICollectionViewFlowLayout alloc] init];
[layout setScrollDirection:UICollectionViewScrollDirectionHorizontal];

layout.minimumLineSpacing = 0.0;
layout.minimumInteritemSpacing = 0.0;
contestsCollectionView=[[UICollectionView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height) collectionViewLayout:layout];

【讨论】:

    【解决方案3】:

    此方法在单元格、页脚和页眉之间设置空格:

    - (UIEdgeInsets)collectionView:
    (UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout insetForSectionAtIndex:(NSInteger)section {
        return UIEdgeInsetsMake(20, 20, 20, 20); 
    }
    

    【讨论】:

    • 这不会改变单元格之间的空间(minimumInteritemSpacing),但会改变集合视图的插图。
    猜你喜欢
    • 2013-06-18
    • 2015-05-01
    • 1970-01-01
    • 2013-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-06
    相关资源
    最近更新 更多