2015-01-21 66 views
0

我是iOS编程的新手,请耐心等待我的无知。现在,我使用CollectView构建类似于iOS中的“照片”应用程序的应用程序。所以,CollectionViewCell里面有一个imageView。我已经设置了imageView和Cell的约束,所以当单元格被调整大小时,imageView也被调整大小。我已经基于iPad模拟器的尺寸构建它,并且它工作正常。现在,我的问题是将我的应用程序移植到iPhone上 - 单元和图像保持与iPad中相同的尺寸。我想要做的是他们应该按照设备的尺寸缩小比例(iPhone中的相同图像应该更小)。我已经尝试检测设备和设置itemsize(所有图像都是相同的尺寸,所以我没有使用sizeViewItemAtIndexPath :)的编程方式的collectionViewFlowLayout,但这意味着我必须计算和硬编码不同设备的单元格的宽度和高度。我想知道是否有一个更优雅的解决方案与iOS8和AutoLayout的到来,而不诉诸于编码。使用AutoLayout和iOS为不同设备调整UICollectionViewCell的大小8

回答

0

你可以使用大小类来做到这一点。 Here你有一个很好的教程,学习如何使用。

+0

我试过了。我遇到的问题是图像被调整大小,但单元格不是。所以,当我切换到iPhone时,由于受到约束,图像的大小正确,但由于单元格大小与iPad中的大小相同,因此存在非常大的间距/填充。似乎不可能在CollectionViewCell上添加约束条件。任何建议? – 2015-01-21 17:52:03

+0

你可以通过代码来完成。如果是iPad,则调整单元格大小。看看这个链接:http://stackoverflow.com/questions/16272216/uicollection-view-adjust-cell-size-for-screen-size – dferreira 2015-01-22 21:15:31

+0

我知道我可以做的代码,但我试图避免这一点。相反,我想知道iOS 8是否提供了使用尺寸类别/自适应布局的更优雅的解决方案。我想我已经在我的问题中提到过了。我已经尝试过尺寸类,但问题是您只能将ImageView上的约束条件设置为单元格,以便ImageView调整大小,但不能调整集合视图单元格。我找不到通过使用大小类来调整大小的任何方法。 – 2015-01-28 16:11:18