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

时间:2017-05-17 08:54:51

标签: ios iphone ipad uicollectionview uicollectionviewlayout

我正在使用UICollectionViewPortrait模式显示项目列表,如下面的屏幕截图所示,并使用UICollectionViewController实现。

enter image description here

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

enter image description here

如何通过重复使用相同的肖像代码库,在UICollectionView模式下使用UICollectionViewFlowLayoutLandscape进行此类设计?可能吗?你能建议我吗?

提前致谢。

1 个答案:

答案 0 :(得分:1)

您也可以使用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/stackOverflowAnswer

enter image description here

enter image description here