Как горизонтально отцентрировать элементы collectionView с динамической шириной? - PullRequest
0 голосов
/ 23 октября 2018

Здравствуйте, я осмотрелся и пока не смог найти решение своего вопроса.Я пытаюсь горизонтально центрировать элементы коллекции, где элементы будут иметь разную ширину и размеры.Из-за этого у некоторых строк в разделе может быть 2 элемента, у некоторых - только 1. Большинство решений, которые я видел вокруг, устанавливают UIEdgeInsets, но так как я не знаю, содержит ли строка сколько элементов, в дополнение к незнаниюразмер предмета, мне было трудно заставить его работать.

Sample Image

Я приложил картинку, чтобы показать вам, что я в данный моментиметь.Любые предложения будут с благодарностью

Ответы [ 2 ]

0 голосов
/ 23 октября 2018

Вы можете использовать проект с открытым исходным кодом TagCellLayout , написанный riteshhgupta in GitHub.

Пример кода для инициализации макета:

import TagCellLayout

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

enter image description here

Я знаю, что вы могли бы написать много кода для этого, но это было бы очень полезно, и даже вы можете настроить различные выравнивания макета.

0 голосов
/ 23 октября 2018

Выбор правильного интерфейса виджета, чтобы достичь того, что вы хотите, с минимальными усилиями.Согласно вашему скриншоту UITableView должен быть правильным выбором для достижения этого.

Вот несколько советов

  1. Используйте пользовательский UITableViewCell с меткой горизонтально и вертикально по центрув пределах UITableViewCell

  2. Используйте динамическое изменение размера, чтобы при увеличении текста увеличивалась и ячейка.

  3. Удалите разделитель и фонцвет ячейки, содержимое ячейки.

Счастливое кодирование

...