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

Posted

技术标签:

【中文标题】是否可以双向实现分页 UIScrollView?【英文标题】:Is it possible to implement a paging UIScrollView in both directions? 【发布时间】:2012-09-17 02:46:14 【问题描述】:

我想实现一个分页UIScrollView,它将在两个方向(垂直和水平)滚动。 UIScrollView 的默认行为是一个,或者另一个。不是都。

是否可以实现一个允许双向分页的 UIScrollView?例如,用户可以通过 UIScrollView 中的分页向左和向上滚动到上一页,向右和向下滚动到下一页。

我可以使用 UIScrollView 实现分页水平滚动,但我看不到 UIScrollView 在分页时如何双向滚动。我怎样才能实现这种行为?滚动视图?还是 CAScrollLayer?还是别的什么?

欢迎提出任何建议。

【问题讨论】:

你尝试过什么吗?你看过任何演示代码吗?这是标准行为。 @Jessedc 我可以通过 uiscrollview 实现左右滚动。我不知道如何实现四个方向。 使您的内容大小高度高于滚动视图边界高度,它将垂直滚动。 @Jessedc 我不认为 uiscrollview 可以完成这项工作。 你说的是分页吗?还是滚动?您应该更新您的问题以更清楚。 【参考方案1】:

您似乎在这里谈论两个不同的东西:滚动和分页。

滚动只是在比屏幕本身大的视图上移动屏幕的视口。通常你通过给UIScrollView 一个比它大的子视图来设置它,并将UIScrollViewcontentSize 设置为更大的东西的大小。

这没什么神奇的。如果contentSize 大于UIScrollView 的大小,则滚动视图将垂直滚动。如果contentSize 更宽,它将水平滚动。如果contentSize 既高又宽,那么您将垂直水平滚动。

分页是另一回事。要知道如何做到“你可以向左和向上滚动到上一页”,我们需要知道页面在你的程序中是什么样子的,它是如何表示的,等等。从你给出的小描述中,我认为UIScrollView 可能不是要走的路。相反,请查看UIPanGestureRecognizer 以及视图之间的某种动画过渡?

但如果这没有帮助,您需要向我们提供更多详细信息。

【讨论】:

你说的是对的。我可以使用 uiscrollview 实现左右滚动和分页。我不认为uiscrollview在分页的时候可以四个方向滚动。 如果我所说的回答了您的问题,请考虑将其标记为答案。

以上是关于是否可以双向实现分页 UIScrollView?的主要内容,如果未能解决你的问题,请参考以下文章

UIScrollView 的灵敏度/滚动速度与分页

UIScrollView与分页的联合使用

UIScrollview在垂直和水平ios中滚动

如何从 Apple 的示例中实际实现分页​​ UIScrollView?

UIScrollView 一个分页器

在 UIScrollView 中延迟加载不同尺寸的图像而不分页