如何在 UICollectionView 中启用滚动?

How to enable scroll in UICollectionView?

我还在学习 iOS 和 Swift 的发展,所以如果我的问题太简单,我先道歉。

我创建了一个 UICollectionViewController 来显示元素矩阵。我的问题是屏幕的宽度不足以容纳一行中的所有列,因此多余的列显示在下面的另一行中。相反,我想启用水平滚动,以便用户可以滚动查看一行中的所有列。

我知道 UICollectionViewController 已经包含 UIScrollView 所以我想这应该像更改 .storyboard 中的设置一样简单,但在多次试错后我找不到它:(

我想这与 "Flow" 布局设置有关,我需要处理一个自定义的,但不知道具体如何处理。

有好心人帮帮我吗?我没有附加任何代码,因为我使用的是 UICollectionViewController 的漂亮 standard/out-of-the-box 实现,但如果您希望我添加任何内容,请告诉我。

非常感谢您的帮助!

这肯定与您的 UICollectionViewLayout 有关 — 它告诉集合视图所有内容应该放在哪里。集合视图只是适当地选择它的滚动行为。

UICollectionViewFlowLayout 是一种特定类型的布局,它会将一行列填充到封闭视图的大小,然后移动到下一个。所以它做一维滚动。这适合您的用例吗?

如果是这样,那么您应该能够在流布局上设置滚动方向。

如果没有,那么您需要编写 UICollectionViewLayout 的自定义子类来实现您想要的布局行为。

我找到了我的问题的完美答案 post:

https://www.credera.com/blog/mobile-applications-and-web/building-a-multi-directional-uicollectionview-in-swift/