Starsky
回答我正在尝试构建一个视图,其中包含多个水平滚动列表,其中在同一行中填充了 12 个单元格。问题是单元格显示“在同一行的两行中”。为了澄清,该行被分成两行,每行 6 个单元格相互堆叠。
该视图是一个 UITableView,其中每一行都是一个 UITableViewCell。UITableViewCell 有一个具有水平滚动方向的 UICollectionViewFlowLayout。UITableViewCell 包含一个 UICollectionView。UICollectionView 填充有从 UINib(来自 XIB 文件)注册的 UICollectionViewCell:s 列表。
一切都正确加载并且工作正常,但是 UICollectionViewCell:s 在水平滚动列表中堆叠成两行 6 个单元格,每个单元格应该由一行 12 个单元格组成。
我可以包含更多代码,但我不知道问题出在哪里,可能与 dequeueReusableCell 有关,请参阅下面的附加代码?
请注意,我尝试添加奇数个元素。然后上排比下排长一个单元格,像这样。看起来它环绕着两条线。
实际
XXXXXXX
XXXXXX
预期
XXXXXXXXXXXXX
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()
}
预期结果:
XXXXXXXXXXXX
XXXXXXXXXXXX
XXXXXXXXXXXX
实际结果:
XXXXXX
XXXXXX
XXXXXX
XXXXXX
XXXXXX
XXXXXX
其中 X 是可滚动列表中的一个单元格。