【问题标题】:Justify last line of UICollectionView对齐 UICollectionView 的最后一行
【发布时间】:2012-11-01 20:21:35
【问题描述】:

据我所知,UICollectionViewFlowLayout 证明了除最后一行之外的所有行。因此,例如,如果没有足够的项目来填充超过 1 行,则结果是不合理的。

UICollectionViewFlowLayout 进行配置或子类化的最简单方法是什么,这样它也可以证明一节的最后一行?

【问题讨论】:

    标签: iphone ios uicollectionview


    【解决方案1】:

    不幸的是,这实际上是不可能的。不幸的是,它不是这样设计的。

    我能想到的可能可行的一件事是在数据源中添加一个额外的项目,在最后返回,它有一个 0 像素高的单元格和集合视图的宽度。这将强制最后一行成为单行,上面只有一个项目,然后它上面的所有行都将是合理的。

    【讨论】:

    • 额外项目的宽度应为(width of collection view) - (left and right content inset) - (left and right section inset)
    • 你如何告诉单元格是collectionview的大小?
    【解决方案2】:

    您可以通过继承 UICollectionViewFlowLayout 并覆盖 layoutAttributesForElementsInRect:layoutAttributesForItemAtIndexPath: 来实现此目的,通过更改 frame 属性将所有项目放在最后一行(除了第一行,这已经是正确的)您想要的位置项目的 UICollectionViewLayoutAttributes 对象。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多