我有ViewController
,其中collectionView
和collectionView
的底部,顶部,前导,尾随约束用于超级视图。在iPhone 8上,我的屏幕看起来像这样:
对于其他设备,一切看起来都很好。但是在iPhone X上看起来像这样:
我在我的单元格中使用以下代码:
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
let offset: CGFloat = 10
let width = collectionView.bounds.width / 3 - offset * 4
let a: CGFloat = width / 2
let b: CGFloat = a * 3 + a * 0.65
let height = b
return CGSize(width: width, height: height)
}
如何解决?
更新
约束:
答案 0 :(得分:0)
关于您的详细信息,我得到的输出如下。
注意:在横向模式下,顶部的安全区域为零。
约束:
SizeForItem:
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
let offset: CGFloat = 10
let width = collectionView.bounds.width / 3 - offset * 4
let a: CGFloat = width / 2
let b: CGFloat = a * 3 + a * 0.65
let height = b
return CGSize(width: width, height: height)
}
编辑:检查此o / p是否不适合您。所以我会解释。而且,如果您想覆盖安全区域,那是不可能的。
iPhone X
iPhone 8