使用自动布局时,如何让我的 UICollectionView 与我的设备宽度相同?

How can I get my UICollectionView to be the same width as my device when using Auto Layout?

我在故事板编辑器中创建了一个 UICollectionView 并将其添加到我的(自定义)ViewController。就像情节提要中的每个视图控制器一样,它表示大小为 600x600,因此占据整个视图的 UICollectionView 也是 600x600。

虽然这是不正确的,因为我正在编写一个 iPhone 应用程序,所以实际尺寸应该是 320x568!

因此,当我向我的 collection 添加项目时,它们被放置在屏幕右侧之外。例如,我首先添加一个单元格,其中包含一张尺寸为 160x213 的图像。它是左对齐的,正好占据屏幕的左半部分。当我添加下一张图片时,有一个巨大的差距,它出现在左侧,部分被切断。我希望第三张图片出现在第一张图片下方,但它根本没有出现。我相信它在屏幕的右侧。这意味着 UICollectionView 的大小是 600x600 而不是 320x568。

我应该提一下,我已经尝试了所有我能想到的方法来解决这个问题。例如:

如果我取消选中 "Use Auto Layout" 似乎可以工作,但我想使用自动布局。我如何获得这项工作?

  1. 您可以像下面这样在故事板中设置视图的 "Simulated Metrics"。我个人比较喜欢用3.5/4英寸来构建我的布局,因为自动布局,我只需要给元素添加一些约束,iOS会自动支持4.7和5英寸的屏幕尺寸。

  1. 我认为您应该 google 学习一些 "Auto Layout" 教程,而且我认为您学起来并不难 :D。例如,如果您想将集合视图框架设置为等于您的视图框架。你可以这样做

如果有任何后续问题,请随时提出,干杯!