所以我正在构建一个应用程序,其中我有一个包含连续 2 个单元格的 Collection View 。但是当我旋转屏幕时,我想将其更改为 4。我该怎么做?
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
let cellWidth = (view.frame.size.width - 50) / 2
return CGSize(width: cellWidth, height: cellWidth)
}
override func viewWillTransition(to size: CGSize,
with coordinator: UIViewControllerTransitionCoordinator)
{
collectionView?.collectionViewLayout.invalidateLayout()
}
最佳答案
在 viewWillTransition
中添加 super 方法。
super.viewWillTransition(to: size, with: coordinator)
这将允许父 View 将这个方法类传递给它的所有 subview 。
override func viewWillTransition(to size: CGSize,
with coordinator: UIViewControllerTransitionCoordinator)
{
super.viewWillTransition(to: size, with: coordinator)
collectionView?.collectionViewLayout.invalidateLayout()
}
关于ios - 横向模式下的 Swift Collection View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51907955/