我有一个覆盖整个屏幕的collectionview。我想使用collectionview,以便所有单元格同时可见,这意味着动态设置高度。并且作为一个加号:它应该在肖像和风景中起作用。
过去我解决了这个问题:
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize
{
let heightOffset = (UIDevice.current.orientation.isPortrait) ? CGFloat(30) : CGFloat(0)
let width = UIScreen.main.bounds.width
let height = UIScreen.main.bounds.height - heightOffset
return CGSize(width: width, height: height / CGFloat(mainScreenItems.count))
}
但是在iPhoneX上我遇到问题,因为偏移是不正确的。即使我采用了集合视图框架的高度,它也无法正常工作。