我正在寻找一个网格,我正在使用UICollectionView。我想要这个网格10x10。我的手机是28x28。
我有一个推断的视图控制器,所以我可以设置它并在两个设备上运行。
当我做的时候
println(collection view.frame) 在iPhone 5和6模拟器上,我得到0.0,0.0,320,568 这很好。
在iPhone 6上我得到10分,但在iPhone 5上我得到了8分。
我使用的代码将宽度拆分为10并指定单元格的大小 - 如下所示:
let width = CGRectGetWidth(collectionView!.frame) / 10
let layout = collectionView?.collectionViewLayout as UICollectionViewFlowLayout
layout.itemSize = CGSize(width: width, height: width)
为什么我仍然在设备上垂直获得不同数量的单元格?
答案 0 :(得分:0)
首先,您需要通过在项目目标页面中添加“启动屏幕文件”(在图标和启动图像下)来使您的应用适合iPhone 6/6 +。这可以让你在iPhone6上获得真正的屏幕尺寸,即375,647。
其次,您所做的是将单元格大小定义为32像素宽度,而不考虑单元格和节插入之间的空间。如果你想要10个精确的单元格也将填满整个屏幕宽度,你需要将minimumInterItemSpacing和sectionInset设置为0。
尝试将“let layout ...”更改为“var layout =”。