iOS集合视图不会将单元格呈现在正确的列中

时间:2018-02-02 14:33:15

标签: ios swift uicollectionview uicollectionviewlayout

我正在渲染一个集合视图,我希望在其中呈现3列中的项目。 如果我有4个项目,它就像这样呈现 -

|   1  |   2   |  3   |
|      |   4   |      |

希望实现这一目标

|   1  |   2   |  3   |
|   4  |       |      |

还有2个项目 - 如下所示呈现

|   1  |      |  2   |

以下是我的布局逻辑的样子

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
if UIDevice.current.userInterfaceIdiom == .pad || UIDevice.current.orientation.isLandscape {
    let cellsAcross: CGFloat = 3
    let spaceBetweenCells: CGFloat = 0
    let dim = (collectionView.bounds.width - (cellsAcross - 1) * spaceBetweenCells) / cellsAcross
    return CGSize(width: dim - CGFloat(1.0), height: CGFloat(110))

  } else {
    let cellsAcross: CGFloat = 2
    let spaceBetweenCells: CGFloat = 0
    let dim = (collectionView.bounds.width - (cellsAcross - 1) * spaceBetweenCells) / cellsAcross
    return CGSize(width: dim - CGFloat(1.0), height: CGFloat(110))
  }
 }

如何正确重新安排物品。任何帮助都非常感谢。 感谢。

0 个答案:

没有答案