我正在使用UICollectionView
以Portrait
模式显示项目列表,如下面的屏幕截图所示,并使用UICollectionViewController
实现。
现在我想在Landscape
模式下重新设计相同的内容,如下面的屏幕截图所示。
如何通过重复使用相同的肖像代码库,在UICollectionView
模式下使用UICollectionViewFlowLayout
和Landscape
进行此类设计?可能吗?你能建议我吗?
提前致谢。
答案 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
}
}