1

您好,我环顾四周,还没有找到解决我问题的方法。我正在尝试将 collectionView 的项目水平居中,其中项目的宽度和大小都不同。因此,该部分中的某些行可能有 2 个项目,有些可能只有 1 个。我见过的大多数解决方案都设置了 UIEdgeInsets 但由于我不知道该行是否包含多少项目,除了不知道项目大小,我一直很难让它工作。

示例图像

我附上了一张图片,向您展示我目前拥有的东西。任何建议将不胜感激

4

2 回答 2

0

选择正确的 UI Widget,以最小的努力实现您想要的。根据您的屏幕截图UITableView应该是实现这一目标的正确选择。

这里有一些提示

  1. 使用UITableViewCell带有水平和垂直居中标签的自定义UITableViewCell

  2. 使用动态大小,这样如果文本增长,那么单元格也会增长。

  3. 去掉单元格的分隔符和背景色,单元格的contentView。

快乐编码

于 2018-10-23T04:47:12.420 回答
0

可以使用riteshhgupta编写的开源项目TagCellLayoutGitHub.

初始化布局的示例代码:

import TagCellLayout

let tagCellLayout = TagCellLayout(alignment: .center, delegate: self)
collectionView.collectionViewLayout = tagCellLayout

在此处输入图像描述

我知道您可能会为此编写大量代码,但这会很有帮助,甚至您可以自定义不同的布局对齐方式。

于 2018-10-23T06:39:22.023 回答