UICollectionView - 在横向模式下重新设计

UICollectionView - redesign in Landscape mode

我正在开发 UICollectionView 以在 Portrait 模式下显示项目列表,如下面的屏幕截图所示,并使用 UICollectionViewController.

实现

现在我想在 Landscape 模式下重新设计相同的东西,如下面的屏幕截图所示。

如何通过重新使用相同的肖像代码库,在 Landscape 模式下使用 UICollectionViewUICollectionViewFlowLayout 获得这样的设计?可能吗?你能给我一些建议吗?

提前致谢。

您也可以使用 stackview 来完成。创建一个包含两个视图的堆栈视图,然后在方向更改时更改轴。为您的要求设置适当的约束。

    override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {
    handleOrientationForLandscape(isLandscape: UIDevice.current.orientation.isLandscape)
  }
  func handleOrientationForLandscape(isLandscape: Bool)  {

    if isLandscape
    {
      containerStackview.axis = .horizontal
      topViewWidthConstraint.constant = 700

    }else
    {
      containerStackview.axis = .vertical
      topViewWidthConstraint.constant = UIScreen.main.bounds.width
    }

  }

请检查https://github.com/karthikprabhuA/WhosebugAnswer