【问题标题】:How do I achieve this zig-zag collection view layout?如何实现这种锯齿形集合视图布局?
【发布时间】:2018-09-23 05:23:09
【问题描述】:

这是我希望单元格的样子,

我正在做 indexPath.row % 3 == 0 但不幸的是这不起作用。

【问题讨论】:

    标签: swift user-interface layout collectionview


    【解决方案1】:

    它与collection view layout无关,它是关于你想如何显示单元格。

    我建议在collectionView(_:willDisplay:forItemAt:) 中执行此逻辑,如下所示:

    假设你的视图控制器符合UICollectionViewDelegate

    func collectionView(_ collectionView: UICollectionView, willDisplay cell: UICollectionViewCell, forItemAt indexPath: IndexPath) {
        cell.backgroundColor = [.purple, .white, .white, .purple][indexPath.item % 4]
    }
    

    感谢 @vacawama 优雅的编辑 ([.purple, .white, .white, .purple][indexPath.item % 4])。

    【讨论】:

    • 对不起,如果我不清楚,我正在 cellForItem 中执行逻辑,并在 willDisplay 单元格中尝试过,但没有成功,indexPath.row % 2 == 0 不起作用。我希望单元格的 bg 颜色看起来像上面的图片。
    • 不,它不起作用。 % 2 只检查它是否是偶数,在上图中,布局(颜色)是之字形,例如第 7 个单元格应该是粉红色的,但代码不起作用,因为它只检查偶数与否。
    • @RyanCandall 是的,抱歉。让我考虑一下:)
    • cell.backgroundColor = [.purple, .white, .white, .purple][indexPath.item % 4]
    • @vacawama 如此优雅:D 你不把它添加为答案吗?
    【解决方案2】:
    cell.backgroundColor = [.purple, .white, .white, .purple][indexPath.item % 4]
    

    感谢@vacawama

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-30
      • 2020-09-06
      • 2022-01-18
      相关资源
      最近更新 更多