不同控制器的页面控制或滚动视图

Posted

技术标签:

【中文标题】不同控制器的页面控制或滚动视图【英文标题】:Page control or scroll view for different controller 【发布时间】:2014-09-22 07:32:52 【问题描述】:

我想制作一个视图控制器,它可以在 3 个不同的控制器(2 个表视图控制器和一个视图控制器)之间滑动。3 个子控制器中的每一个都有一个自定义类。最好使用带有分页的滚动视图或页面视图控制器?

initial screen
       |
       |
-------------------------------------
1) viewcontroller
2) tableviewcontroller
3) tableviewcontroller

【问题讨论】:

【参考方案1】:

如果您不想使用 ios7 中引入的 UIViewController 转换 API 以正确的方式执行此操作,则必须使用带有 pagingEnabled 的 UIScrollView。 (UIPageViewController 更多地用于 iBook 类型的接口,并且 UIPageViewControllerDelegate 的方法不是很容易使用,即你必须弄清楚视图控制器的往返。)如果你走第一条路线,你将不得不实现一堆委托和子类 UIViewController 创建自定义父视图控制器来放置您的孩子(视图控制器包含)。

我已经实现了UAFInteractiveNavigationController,这应该是您正在寻找的(还有更多),但它相对未经测试,是为 iOS6-7 编写的,最重要的是 没有 使用更现代的 UIViewController 转换 API,但从头开始从 UIPanGestureRecognizer 开始。我基本上遇到了和你类似的问题,但发现这两种方法都不太容易定制。

【讨论】:

以上是关于不同控制器的页面控制或滚动视图的主要内容,如果未能解决你的问题,请参考以下文章

多个页面浏览控制器滚动

iOS页面控制滚动锁定

使用滚动视图和页面控制?

滚动视图滚动时页面控制不改变

结合页面控制+滚动视图(包括图像视图)+文本视图

具有滚动效果的页面视图控制器与启用分页的 UIScrollView