水平和垂直分页UIScrollView,即多方向分页

Posted

技术标签:

【中文标题】水平和垂直分页UIScrollView,即多方向分页【英文标题】:horizontally and vertically paging UIScrollView, i.e. multi directional paging 【发布时间】:2012-08-27 19:45:17 【问题描述】:

我正在寻找能够处理多向分页的自定义组件或迷你框架!多方向,同时支持水平和垂直分页!

我实际上希望像分组的 UITableView 那样显示数据,按各个部分和行分组。考虑以下数据示例:

A 区:第 1 行、第 2 行、第 3 行

B 部分:第 1 行

C 部分:第 1 行,第 2 行

这显然是分组 UITableView 的标准用例,没什么特别的,对吧?

我想要完成的是,将上述数据显示为分页视图! 因此,即当我水平分页时,分页是基于部分的,我从部分 A 移动到部分 B 等等! 当我垂直翻页时,我通过一个部分的单个“行”等“翻页”!我希望你们明白这一点!

从技术上讲,这显然可以通过嵌套 2 个启用分页的 UIScrollViews 来实现,通过垂直或水平分页限制单个 UIScrollViews。然后以正确的方式等用数据(即视图)填充滚动视图。

另一个要求是具有动态或半动态行为!通过事后添加“部分”和“行”的可能性来实现动态化。就像 UITableView 的实际行为一样,具有“单元”重用等! (半动态意味着我不需要动态“行”插入/删除等,只需一个简单的“reloadData”就足够了)

所以我例如查看了他的SoloComponents 的 Andrey Vits ATPagingView! ATPagingView 看起来像是解决我的问题的有前途的基础!我想扩展功能以适应我的要求,但想先征求有关 *** 的建议!

那么你对这些家伙有什么看法? 这实际上是网格组件的用例吗?

是否有一个组件或框架已经满足我的需求,或者直到现在才需要多向分页视图! ;)

【问题讨论】:

【参考方案1】:

现在我正在为自己试验 ATPagingView,我发现它对其目的非常有用。它提供了一种具有单元重用的无限分页解决方案,并且只需 2 个委托方法即可轻松设置。

为什么不将单个 ATPagingView 实例包装到一个“父级”UIScrollView 中,其中每个 ATPagingView 代表您用例中的一个“部分”!在每个 ATPagingView 中,您都会将页面作为“行”。您可以将外部(即父级)UIScrollView 设置为仅水平页面,并将单个 ATPagingViews 设置为垂直滚动。

您需要在外部 UIScrollView 中使用一些样板代码(例如 numberOfSections 等)来管理“内部”ATPagingViews,但我认为这是一种可行的方法。

【讨论】:

这实际上是我考虑过的相同方法。我已经在研究解决方案,一旦我有工作结果就会回到这个话题。感谢您再次确认我的想法! ;)

以上是关于水平和垂直分页UIScrollView,即多方向分页的主要内容,如果未能解决你的问题,请参考以下文章

是否可以双向实现分页 UIScrollView?

如何使用 autoLayout 创建具有水平和垂直分页的强大 ScrollView?

UIScrollView 一个分页器

清除分页 UIScrollView 中的自动旋转转换

UIScrollview在垂直和水平ios中滚动

将水平和垂直 CAGradientLayer 蒙版应用到 UIScrollView/UICollectionView