【问题标题】:UICollectionViewFlowLayout - How do I get even row and column spacing?UICollectionViewFlowLayout - 如何获得均匀的行距和列距?
【发布时间】:2013-04-28 16:02:29
【问题描述】:

UICollectionViewFlowLayout 有两个属性来说明行和列的最小间距:

  • 最小线间距
  • 最小InteritemSpacing

如何设置间距相等的约束?将这两个属性设置为相同的剂量并不能解决问题,因为它们是最小值。

【问题讨论】:

    标签: iphone ios objective-c uicollectionview


    【解决方案1】:

    当然,这里的部分问题是您假设所有项目的大小相同。这使得“均匀度”的概念变得非常容易。但是流程布局并没有做出这样的假设。它的工作方式之所以如此,是因为它准备好布局不同大小的项目。

    您说“均匀”,但没有指定均匀的条件。如何达到这种均匀度?你必须考虑你到底在追求什么。

    • 如果您接受流式布局将项目隔开以便在屏幕两侧完全对齐它们,那么显然流式布局将使用更大的水平间距值比你的minimumInteritemSpacing 以实现这一点。显然,在这种情况下,如果您希望它更像流布局使用的水平间距,则需要更大的 minimumLineSpace 值。或者,增加两侧的sectionInset减少整个水平间距。

    • 如果您接受流布局会将项目隔开以使它们在两侧对齐,那么您可以准确设置水平间距,但显然项目将需要左对齐(或居中),而不是完全对齐。你可以通过继承 UICollectionViewFlowLayout 来做到这一点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-31
      • 1970-01-01
      • 2019-05-31
      • 1970-01-01
      • 1970-01-01
      • 2017-08-03
      相关资源
      最近更新 更多