IOS:将 UICollectionViews 放入 UIPageVieControllers

Posted

技术标签:

【中文标题】IOS:将 UICollectionViews 放入 UIPageVieControllers【英文标题】:IOS: Putting UICollectionViews into UIPageVieControllers 【发布时间】:2017-05-05 21:32:15 【问题描述】:

在我的应用程序的一部分中,我需要一个垂直滚动设备来选择级别(我目前正在为此使用集合视图)。但是,我还需要允许用户向左或向右滑动以呈现新的“楼层”级别。例如,一层和 4 层可能有 50 层。我喜欢集合视图的网格展示,我想要 UIPageController 的页面控制功能。

我目前正在使用一个空白视图控制器(混乱地)管理这个,我在其中加载了一个集合视图。向左滑动会重新加载这个视图控制器并告诉它加载一个新的集合视图。

我不喜欢这样,我不知道如何将集合视图网格化到 UIPageController 中。我认为这是获得我想要的东西的最佳方式,但如果有更好的方法,请告诉我。

我该怎么做?

【问题讨论】:

【参考方案1】:

没有UIPageController。我想你的意思是UIPageViewController

无论如何,听起来您想要 App Store 的“精选”标签之类的东西。在 App Store 中,有一个仅垂直滚动的***集合视图。此***集合视图的每个单元格都代表一个特色类别,并包含一个(嵌套)集合视图,该集合视图仅水平滚动,并且该特色类别中的每个应用都包含一个单元格。

所以,我的建议是:不要使用任何UIPageViewControllers。做 App Store 所做的事情:使用***垂直滚动UICollectionView,每个单元格包含自己嵌套的水平滚动UICollectionView

如果你想要分页行为,要么在每个嵌套集合视图上设置 pagingEnabled(它们有这个属性是因为 UICollectionViewUIScrollView) 的子类,或者像 App Store 那样“手动”实现它。我解释了如何在this answer中重现App Store自定义的水平停止行为。

【讨论】:

以上是关于IOS:将 UICollectionViews 放入 UIPageVieControllers的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iOS Objective C 的嵌套 UICollectionViews 中从 Child UICollectionViewCell 的 UIButton 将值传递给新的 UIViewCon

几个 UICollectionViews 像 iBooks 一样水平滚动

iOS 8 中的嵌套 CollectionView、自动布局和旋转

嵌套 UICollectionViews - 我应该如何处理来自核心数据的数据?

单个 UIViewController 上的 2 个 UICollectionViews,具有不同数量的部分

嵌套 UICollectionViews 的问题