UICollectionViewCell sizeForRowAtIndexPath 和两个视图并排

UICollectionViewCell sizeForRowAtIndexPath and Two Views side by side

我正在尝试完成 Imgur 应用程序在他们的关于视图中的一个 UICollectionViewCells 中所做的事情。见下文:

我想要 1 个 UICollectionViewCell,但不是单元格内的 3 个视图部分,我只想要两个(注释和 posts)。

对于我的 UICollectionView,我在 运行 时调整单元格的大小,以使其几乎适合整个屏幕减去一些边距,因为我想制作像 Imgur 这样的卡片视图。

我按照这个 Whosebug post 并排获得了 2 个视图:

而且我能够并排获得 2 个等宽的视图。这是他们在情节提要中的样子:

但是当我 运行 应用程序时,由于自动调整大小,我的视图被拉长了。见下文:

如何使视图宽度相等,视图之间、前后的间距相等?

您可以使用 UIStackView。它提供了一种简单的方法来水平或垂直布置一系列视图。

Select 两个视图,然后单击 Storyboard 右下角自动布局工具栏中的新 Stack 按钮 canvas:

从顶部、左侧、右侧和底部对堆栈视图进行约束。然后像这样制作堆栈视图的 Attributes Inspector

注意。如果您想了解有关 Stack View 的更多信息,请遵循 Ray Wenderlich 中的精彩教程:https://www.raywenderlich.com/114552/uistackview-tutorial-introducing-stack-views

相信我,一旦您学会了 Stack View,与 Autolayout 相关的大部分复杂性都会变得微不足道