我的应用中有一个集合视图。我正在使用UICollectionViewDelagateFlowLayout
协议。细胞按照我想要的方式调整大小,每行显示2个细胞。但是当我进入景观时,它每行显示3个细胞。
问题:无论发生什么情况,我如何强制我的应用程序每行显示两个单元格?
答案 0 :(得分:1)
我猜你在进入风景时正在调整集合视图的大小,因此每行有足够的空间容纳三个单元格。为什么不在方向更改时禁用集合视图的大小调整。
否则您可能需要编写自己的UICollectionViewLayout。
答案 1 :(得分: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()
}