使 UIScrollView 表现得像 UIPageControl

Posted

技术标签:

【中文标题】使 UIScrollView 表现得像 UIPageControl【英文标题】:Make UIScrollView act like UIPageControl 【发布时间】:2014-04-11 02:02:05 【问题描述】:

在我最新的项目中,我正在尝试创建一个 UIScrollView,其中包含多个可以水平滚动的部分。我想让它在用户滚动后,UIScrollView 锁定到 UIScrollView 的一部分。

我有 3 个不同的部分,因此要获得它们都开始的位置,代码将是,

CGFloat contentWidth = scrollView.contentSize.width;
CGFloat firstDivider = 0; //left origin
CGFloat secondDivider = contentWidth; 
CGFloat thirdDivider = contentWidth*2;

我还考虑过使用每个部分的中心来确定应该将哪个放在前面。

CGFloat centerXfirst = contentWidth/2;
CGFloat centerXsecond = contentWidth * 3/2;
CGFloat centerXthird = contentWidth * 5/2;

我使用这两种方法都没有成功。

更多详情

UIScrollView 的框架是根据它周围的其他视图动态创建的。其内容大小的宽度是滚动视图宽度的 3 倍。

我认为在这里使用 UIPageControl 会太过分,而且我肯定比 UIPageControl 更熟悉 UIScrollView。此应用程序已过期,因此我无法花时间学习这个新的 UI 元素。

【问题讨论】:

您是否尝试过设置 pagingEnabled = YES? developer.apple.com/library/ios/documentation/uikit/reference/… @MatíasR 不,我没有。谢谢,我会调查并回复你 @MatíasR 哇,我现在真的觉得自己很笨。如果您将其发布为答案,我可以接受。 事实证明,用这个实现 UIPageControl 并不难。 【参考方案1】:

在您的UIScrollView 上设置pagingEnabled = YES :)

【讨论】:

以上是关于使 UIScrollView 表现得像 UIPageControl的主要内容,如果未能解决你的问题,请参考以下文章

如何使 Recycler View 表现得像 PlayStore Recycler Views

如何使 ProcessPoolExecutor 中的任务表现得像守护进程?

使 PHP 对象表现得像一个数组?

如何使 Material UI 图标表现得像锚标签?

Kivy:如何使小部件表现得像溢出:隐藏

htmx:如何使每一行表现得像一个表格?