我有一个寻呼机全屏 Collection View 。当设备旋转时,collectionview的第一个单元格在横向和纵向模式下适合collectionview。但是当我在 CollectionView 上滚动下一个单元格时,它显示两个单元格。而且它并不适合所有屏幕。尽管我滚动 CollectionView 并旋转,如何使所有单元格大小适合 CollectionView。我尝试了 invalideLayout() 和很多方法。但我无法实现。只是我只想,尽管滚动和旋转,collectionviewcell 在任何情况下都适合整个屏幕。
P.S collectionviewcell 大小应该是整个屏幕大小。
public override func willTransition(to newCollection: UITraitCollection, with coordinator: UIViewControllerTransitionCoordinator) {
if UIDevice.current.orientation.isLandscape,
let layout = collectionView.collectionViewLayout as? UICollectionViewFlowLayout {
let width = view.frame.height
layout.itemSize = CGSize(width: width, height: UIScreen.main.bounds.width)
layout.invalidateLayout()
} else if UIDevice.current.orientation.isPortrait,
let layout = collectionView.collectionViewLayout as? UICollectionViewFlowLayout {
let width = view.frame.width
layout.itemSize = CGSize(width: width , height: UIScreen.main.bounds.height)
layout.invalidateLayout()
}
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
let width = view.frame.size.width
return CGSize(width: width , height: UIScreen.main.bounds.height)
}
最佳答案
关于ios - UICollectionViewCell 大小适合设备旋转时的所有单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55058641/