默认 UICollectionView 布局不考虑 iPad 分屏

All*_*ome 5 ipad uisplitviewcontroller ios uicollectionview

我在分屏上的布局不考虑分屏的宽度。

我的自定义视图尊重它(顶部的黑条),但任何使用自动布局的内容都不尊重宽度。

我正在使用处理旋转

override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {
Run Code Online (Sandbox Code Playgroud)

是否有处理分割视图的辅助方法?我处理它吗layoutSubview?我希望 UICollectionView 能够为我们处理这个问题。

在 viewWillTransition 我使用

  guard let flowLayout = collectionView.collectionViewLayout as? UICollectionViewFlowLayout else {
            return
        }

  flowLayout.invalidateLayout()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

Jon*_*ose 0

我假设“默认”布局是指UICollectionViewFlowLayout. 看起来 itemSize 宽度大于视图的宽度。尝试添加检查 collectionView:layout:sizeForItemAtIndexPath:以确保宽度小于或等于集合的宽度。