具有不同单元格类型的集合视图:方向发生变化时如何调整其中一些的大小?

时间:2018-08-26 15:10:25

标签: ios uicollectionview rotation orientation uicollectionviewcell

我已经注册了2种不同的自定义UICollectionViewCell类型:

collectionView.register(CustomCell1.self, forCellWithReuseIdentifier: "cell1")
collectionView.register(CustomCell2.self, forCellWithReuseIdentifier: "cell2")

对于其中一种类型的单元格,我需要使其纵向尺寸与横向尺寸不同(我有2个部分,每个部分都填充了一种类型的单元格),我实现了{{1 }}:

collectionView(_:layout:sizeForItemAt:)

人像截图

enter image description here

风景截图:

enter image description here

这似乎在public func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { if indexPath.section == 0 { return CGSize(width: 30, height: 30) } if UIInterfaceOrientationIsLandscape(UIApplication.shared.statusBarOrientation) { return CGSize(width: 300, height: 300) } return CGSize(width: 100, height: 100) } 上有效(旋转设备时会调整橙色单元格的大小),但是我在iOS 11中收到一些奇怪的消息,如下所示:

  

[App]如果我们在真正的预提交处理程序中,由于CA限制,我们实际上无法添加任何新的隔离区

另一方面,这在Xcode上根本不起作用(橙色单元格不会调整大小)。

哪种正确的方式来处理这种情况?

0 个答案:

没有答案