我正在尝试使用集合视图实现水平滑动,该视图应该在每次滑动时都有一个图像视图
我可以通过手动将单元格高度+宽度设置为设备大小来在一个设备尺寸上执行此操作
然而,当我更换设备时,单元格大小不成比例
如何保持每个设备更改的单元格大小?我希望单元格占据宽度和高度的100%
谢谢
答案 0 :(得分:2)
我的建议:不要。你所描述的更像是UIPageViewController而不是集合视图。使用UIPageViewController,您所描述的内容非常简单 - 它实际上是自动发生的。
答案 1 :(得分:2)
func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize
{
return CGSizeMake(self.view.frame.size.width) , (self.view.frame.size.height))
}
虽然我同意马特的回答。但是你也可以用这个代码来做。 你不需要创建扩展。你只需要覆盖这个集合视图委托方法
答案 2 :(得分:1)
为集合视图创建自定义流布局,并将委托分配给视图控制器。
这将允许您根据要求动态更改布局(在您的情况下,每个设备的大小不同)。具体来说,collectionView(UICollectionView, layout: UICollectionViewLayout, sizeForItemAt: IndexPath)
方法允许您更改每个项目的单元格大小。它看起来像这样:
extension ViewController : UICollectionViewDelegateFlowLayout {
func collectionView(UICollectionView, layout: UICollectionViewLayout, sizeForItemAt: IndexPath) -> CGSize {
return CGSize(width: UIScreen.main.bounds.width, height: UIScreen.main.bounds.height)
}
}