Ios 4英寸和4.7英寸iPhone之间的UICollection手机问题

Ios 4英寸和4.7英寸iPhone之间的UICollection手机问题,ios,swift,uicollectionview,Ios,Swift,Uicollectionview,我正在寻找一个网格,我正在使用UICollectionView。我要这个网格10x10。我的手机是28x28 我有一个推断的视图控制器,所以我可以设置它并在两个设备上运行 当我这样做的时候 println(集合视图.frame) 在iPhone5和6模拟器上,我得到了0.0,0.0320568 这很好 在iPhone6上我得到了10分,但在iPhone5上我得到了8分 我使用的代码将宽度拆分为10,并为单元格指定大小,如下所示: let width = CGRectGetWidth(coll

我正在寻找一个网格,我正在使用UICollectionView。我要这个网格10x10。我的手机是28x28

我有一个推断的视图控制器,所以我可以设置它并在两个设备上运行

当我这样做的时候

println(集合视图.frame) 在iPhone5和6模拟器上,我得到了0.0,0.0320568 这很好

在iPhone6上我得到了10分,但在iPhone5上我得到了8分

我使用的代码将宽度拆分为10,并为单元格指定大小,如下所示:

  let width = CGRectGetWidth(collectionView!.frame) / 10
        let layout = collectionView?.collectionViewLayout as UICollectionViewFlowLayout
        layout.itemSize = CGSize(width: width, height: width)

你知道为什么我还在设备上垂直放置不同数量的电池吗

首先,你需要在项目的目标页面(图标和启动图像下)添加“启动屏幕文件”,使你的应用程序适合iPhone 6/6+。这会让你知道iPhone6的真实屏幕大小,即375647

其次,您所做的是将单元大小定义为32像素宽,而不考虑单元和截面插图之间的空间。如果您想要正好10个单元格同时填充整个屏幕宽度,则需要将minimumInterItemSpacing和sectionInset设置为0


尝试将“let layout…”更改为“var layout=”too.

您在哪里运行此代码?在viewDidLoad中?视图将出现吗?是的,它没有做任何有用的事情!!!看起来您希望集合视图是全屏的?在这种情况下,请尝试基于view.bounds而不是collectionView.frame计算宽度。在viewDidLoad期间,collectionView的框架可能尚未调整以适应屏幕大小,但视图边界是。我不希望它是全屏的。UIView为全尺寸,uiCollectionview位于导航栏前约60点。。。。因此,这就是为什么我想要集合视图的大小,而不是UIView的大小。如果不想在项目之间留有任何空间,还需要将
最小行间距
最小材质间距
)设置为
0
。和
部分插图
UIEdgeInsetZero