UIPageViewController 和 UIPageControl 之间有啥关系?

Posted

技术标签:

【中文标题】UIPageViewController 和 UIPageControl 之间有啥关系?【英文标题】:What is the relationship between a UIPageViewController and a UIPageControl?UIPageViewController 和 UIPageControl 之间有什么关系? 【发布时间】:2016-06-12 00:08:25 【问题描述】:

所以我正在构建一个简单的应用程序,其中有三个视图控制器,并且我希望能够在它们之间滑动(想想,tinder 从左到右流过视图的方式)。

执行此操作的最佳方法似乎是使用 UIPageViewController。

但我对 UIPageControl 究竟如何参与此过程感到困惑。我创建了一个 UIPageViewController,并且可以循环浏览三个视图,但是如何访问该进程使用的特定 UIPageControl 元素。

或者我自己搞糊涂了,甚至没有使用 UIPageControl 元素。请帮忙。

我应该补充一下,如何访问 UIPageControl 元素?我需要创建它吗?还是默认存在?

【问题讨论】:

【参考方案1】:

UIPageViewController 是一个容器视图控制器,即可以包含其他视图控制器的视图控制器。这些其他视图控制器是您要显示的页面,而UIPageControl 是用户可以与之交互的用户界面元素。

为了支持UIPageViewController,您需要在代码中的某处实现UITableViewDatasource 协议。该协议用于为每个页面提供视图控制器。 UIPageViewController 实现了滑动手势识别器和每个页面之间的转换。

如果您实现了presentationCountForPageViewControllerpresentationIndexForPageViewController 数据源方法,那么UIPageViewController 将在屏幕顶部显示UIPageControl(点),并处理与此控件交互的用户。

当您使用UIPageControl 时,您可以将其放置在视图上的任何位置,就像任何其他控件一样,您需要设置指示页数和选定页数的属性,并且您需要实现一个动作处理程序以处理用户与控件的交互;您对用户操作的操作取决于您。

最后,这里有几个教程可以演示:

Use of the UIPageViewController Adding a UIPageControl to a UIPageViewController

【讨论】:

以上是关于UIPageViewController 和 UIPageControl 之间有啥关系?的主要内容,如果未能解决你的问题,请参考以下文章

Swift pagecontroller 故事板 UI 对象与 UIPageviewcontroller 连接

UIPageViewController -presentationCount 不触发

如何更改 UIPageViewController 中的按钮名称

iOS6 自动旋转 - UIPageViewController

如何在 UIPageViewController 中重用相同的 ViewController?

更改 UIPageViewController 中显示的初始视图控制器