ОТВЕТИТЬ от Starsky
Я пытаюсь создать представление с несколькими горизонтальными прокручиваемыми списками, заполненными 12 ячейками в одном ряду. Проблема в том, что ячейки отображаются «в два ряда в одном ряду». Для пояснения строка разбита на два ряда по 6 ячеек, расположенных друг над другом.
Представление представляет собой UITableView, где каждая строка представляет собой UITableViewCell.
UITableViewCell имеет UICollectionViewFlowLayout с горизонтальным направлением прокрутки.
UITableViewCell содержит UICollectionView.
UICollectionView заполняется списком UICollectionViewCell: s, зарегистрированным из UINib (из файла XIB).
Все загружено правильно и работает нормально, но UICollectionViewCell: s укладываются в две строки по 6 ячеек в горизонтальном списке прокрутки, который должен состоять из одной строки из 12 ячеек.
Я могу добавить еще много кода, но я не знаю, в чем проблема, возможно, это связано с dequeueReusableCell, см. Прикрепленный код ниже?
Обратите внимание, я пытался добавить нечетное количество элементов. Тогда верхний ряд на одну клетку длиннее нижнего, вот так. Похоже, это обвивает две строки.
фактический
Х Х Х Х Х Х Х
Х Х Х Х Х Х
ожидаемый
X X X X X X X X X X X X X X
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let item = items[indexPath.row]
if let cell = tableView.dequeueReusableCell(withIdentifier: HorizontalListTableViewCell.identifier, for: indexPath) as? HorizontalListTableViewCell {
cell.item = item
return cell
}
}
return UITableViewCell()
}
Ожидаемые результаты:
Х Х Х Х Х Х Х Х Х Х Х Х Х
Х Х Х Х Х Х Х Х Х Х Х Х Х
X X X X X X X X X X X X X
Фактические результаты:
X X X X X X
Х Х Х Х Х Х
X X X X X X
Х Х Х Х Х Х
X X X X X X
Х Х Х Х Х Х
Где X - это ячейка в прокручиваемом списке.