Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/101.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 CollectionViewCell大小问题_Ios_Swift_Resize_Row_Uicollectionviewcell - Fatal编程技术网

Ios CollectionViewCell大小问题

Ios CollectionViewCell大小问题,ios,swift,resize,row,uicollectionviewcell,Ios,Swift,Resize,Row,Uicollectionviewcell,我的应用程序中有一个收藏视图。我使用的是UICollectionViewDelagateFlowLayout协议。单元格的大小正是我所希望的,即每行显示2个单元格。但当我进入横向时,它每行显示3个单元格 问题:无论发生什么情况,我如何强制我的应用程序每行显示两个单元格 我猜当您进入横向视图时,集合视图的大小正在调整,因此每行有足够的空间容纳三个单元格。为什么不禁用方向更改时集合视图的大小调整 否则,您可能需要编写自己的UICollectionViewLayout 在类中添加这两个collecti

我的应用程序中有一个收藏视图。我使用的是
UICollectionViewDelagateFlowLayout
协议。单元格的大小正是我所希望的,即每行显示2个单元格。但当我进入横向时,它每行显示3个单元格


问题:无论发生什么情况,我如何强制我的应用程序每行显示两个单元格

我猜当您进入横向视图时,集合视图的大小正在调整,因此每行有足够的空间容纳三个单元格。为什么不禁用方向更改时集合视图的大小调整


否则,您可能需要编写自己的UICollectionViewLayout

在类中添加这两个collectionView委托方法

 func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
         return CGSize(width: collectionView.frame.size.width/ 2 - 10, height: 100) // chnage as per your need ...10 is the space between cell
    }

override func didRotateFromInterfaceOrientation(fromInterfaceOrientation: UIInterfaceOrientation) {
    myCollectionView!.reloadData()
}

展示你的布局方法。听起来不错。很抱歉,我是个新手,你能告诉我如何禁用调整大小吗?你是如何设置UI的。是通过情节提要吗?我创建UICollectionView并将其约束在情节提要中您是否使用约束或自动调整大小标志?如果使用约束,则可以添加尺寸约束以限制集合视图的尺寸是。我不知道如何接受这个答案。另外,您知道如何更改前两个单元格的背景吗?请检查此项以了解如何接受答案:如果要更改前两个单元格的颜色,则可以在单元格中设置条件,如果indexPath.row==0{}此条件起作用并更改背景颜色,但当我切换到横向或滚动时,它会突出显示不同的背景颜色,然后需要跟踪该indexPath…..在此条件下声明indexPath的实例并设置值。