Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/114.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 默认UICollectionView布局不考虑iPad分割屏幕_Ios_Ipad_Uicollectionview_Uisplitviewcontroller - Fatal编程技术网

Ios 默认UICollectionView布局不考虑iPad分割屏幕

Ios 默认UICollectionView布局不考虑iPad分割屏幕,ios,ipad,uicollectionview,uisplitviewcontroller,Ios,Ipad,Uicollectionview,Uisplitviewcontroller,我在分割屏幕上的布局与分割屏幕的宽度无关 我的自定义视图考虑的是它(顶部的黑条),但使用autolayout的任何内容都不考虑宽度 我正在使用 override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) { 是否有处理拆分视图的辅助方法?我是否在layoutSubview中处理它?我希望UICollectionView能为我们解决这个问题 在

我在分割屏幕上的布局与分割屏幕的宽度无关

我的自定义视图考虑的是它(顶部的黑条),但使用autolayout的任何内容都不考虑宽度

我正在使用

override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {
是否有处理拆分视图的辅助方法?我是否在
layoutSubview
中处理它?我希望UICollectionView能为我们解决这个问题

在视图中,我将使用

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

  flowLayout.invalidateLayout()

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

是。这个问题在iOS 13 beta 7中仍然存在

如果实现多个窗口并并排拆分两个集合视图。只有左边的窗口布局正确(旋转几次可以看到)

添加视图中的控制器可以修复此问题:

override func viewWillLayoutSubviews(){
super.viewWillLayoutSubviews()
collectionViewLayout.invalidateLayout()无效
}