如何在 UIScrollView iOS/Swift 中的控件页面之间水平滚动

Posted

技术标签:

【中文标题】如何在 UIScrollView iOS/Swift 中的控件页面之间水平滚动【英文标题】:How to horizontally scroll between pages of controls in UIScrollView iOS/Swift 【发布时间】:2015-02-28 07:00:45 【问题描述】:

我正在尝试找到在我的 viewController 屏幕上实现滚动视图的方法,它允许用户在不同的控件页面之间滚动,并在滚动视图之外让控件围绕它,对任何数据或操作做出反应放置在滚动视图中。

我发现的所有教程都是添加显示图像轮播的滚动视图,或以编程方式添加彩色框架。很少有控制交互。

但没有一个显示如何创建 2-3 页控件(按钮和标签),以及如何将其与父视图集成(因此父视图和滚动视图在一个视图中相互通信)。

那么现在,创建带有 2 个“页面”控件的滚动视图的第一步是什么?有没有人遇到过任何好的资源?实现这一目标的最佳方法是什么?

谢谢!

【问题讨论】:

【参考方案1】:
    添加滚动视图。为滚动视图添加上、左、右、下约束。仅在情节提要中设置水平。 在滚动视图中添加一个视图。现在将此视图的高度约束添加到超级视图。 (不是滚动视图。)指定一些宽度并添加宽度约束。 我建议您使用UIPageViewController 进行此类滚动。

【讨论】:

感谢 Saqib 的回复。所以我添加了滚动视图。我想我的约束在那里排序。然后我在滚动视图中添加了一个“视图”。约束要正确有点棘手,但这只是我挑战的一小部分。所以现在,对于如何将我的两个“页面”控件添加到此视图中,我仍然有点不知所措。 UIPageViewController 在哪里发挥作用?我是在这个视图本身上创建我的控件页面,还是在情节提要中添加另一个视图控制器,并以某种方式将其链接到那个?抱歉所有问题,只是想 100% 理解。:) 谢谢! 我在上一个答案中添加了指向 UIPageViewController 教程的链接。有两种方法可以实现你想要做的事情。一种是 UIScrollView。另一个是 UIPageView。要使用 UIPageView,请遵循该教程。 啊,好的,谢谢。我误解了您的回答,并认为建议同时使用 scrollView 和 pageview,并且链接的教程似乎没有涵盖 scrollView 部分。将再次查看教程,看看它是否有帮助。谢谢!【参考方案2】:

我建议你去 UICollectionViewLayout 并启用分页为真。使用它可以让您最好地控制每一页以及水平和垂直滚动。

【讨论】:

以上是关于如何在 UIScrollView iOS/Swift 中的控件页面之间水平滚动的主要内容,如果未能解决你的问题,请参考以下文章

如何在特定点停止 UIScrollView?

如何使在Swift中使用UIScrollView进行滚动和缩放

如何在 UiScrollview 中获取子视图的内容

如何在 UICollectionViewCell 内缩放 UIScrollView?

如何在 UIViewController 中居中 UIScrollView

UIScrollView - 如何定位控件