2017-05-03 105 views
0

我在我的应用程序中有一个集合视图。我正在使用UICollectionViewDelagateFlowLayout协议。这些细胞正在调整我想要它们的方式,每行显示2个细胞。但是当我进入景观时,它会显示每行3个单元格。CollectionViewCell大小问题

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

+0

显示您的布局方法。 – creeperspeak

回答

0

添加这个两的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() 
} 
+0

谢谢您的工作 – c3pNoah

+0

欢迎........ – KKRocks

+0

是的。我不知道如何接受这个答案。你也知道我怎么能改变前两个单元格的背景吗? – c3pNoah

1

我猜集合视图正在调整,当你进入景观,所以有足够的空间,每行三个单元格。为什么不禁用对方向更改的集合视图的大小调整。

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

+0

听起来不错。对不起,我是一个新手,所以你可以告诉我如何禁用调整大小 – c3pNoah

+0

你如何设置你的用户界面。它是通过故事板吗? – Spads

+0

我制作我的UICollectionView并将其约束在故事板中 – c3pNoah