滚动应用:UIPageViewController vs UIScrollView

Posted

技术标签:

【中文标题】滚动应用:UIPageViewController vs UIScrollView【英文标题】:Scrolling app: UIPageViewController vs UIScrollView 【发布时间】:2013-03-07 19:04:13 【问题描述】:

我正在开发一个应用程序,其中有多个屏幕,每个屏幕都有相同的布局,只是传入的数据不同,然后我希望用户能够从一个屏幕滑动到下一个屏幕。

到目前为止,我使用 UIPageViewController 项目模板使用过渡样式 UIPageViewControllerTransitionStyleScroll 进行了一些工作。到目前为止我所做的工作还可以,尽管它占用大量资源,因为每次我滑动到新页面时它都会实例化一个新的视图控制器,但我正在考虑解决这个问题。

我担心的是它不是 ibooks 意义上的严格的页面应用程序,所以即使我能够使它看起来像一个滚动应用程序,使用过渡样式设置,我想知道是否有一个人们似乎只将此模板用于书籍类型应用程序的原因,除非我弄错了

似乎还有另一种使用UIScrollViewPageControl 来执行类似功能的方法

http://developer.apple.com/library/ios/#samplecode/PageControl/Introduction/Intro.html

我不确定哪种方法可以更好地解决我正在尝试解决的问题,因此我正在寻找一些反馈。每个页面都需要是视图控制器的一个单独实例,因为每个页面上要显示多个元素。

【问题讨论】:

UIPageViewController 在需要提醒实时滚动以便获取偏移量时会导致问题。我刚结束切换到 UIScrollView。完全不知道 UIPageViewController 的意义是什么。 【参考方案1】:

使用UIScrollView 要困难得多。如果你的目标是 iOS 6,你几乎肯定应该使用UIPageViewController。如果您的目标是 iOS 5,那么 UIPageViewController 可能并不完美,因为唯一可用的页面转换是“滚动”,它看起来像翻页。

如果您担心资源使用情况,可以重用视图控制器。

参见 WWDC 2012 会议 223: https://developer.apple.com/videos/play/wwdc2012/223/

【讨论】:

以上是关于滚动应用:UIPageViewController vs UIScrollView的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式平滑滚动 UIPageViewController

使用 UIPageViewController 使 UI 滚动视图滚动

如何在垂直滚动其内容(集合视图)时启用 UIPageViewController 的页面滚动?

以编程方式将 UIPageViewController 过渡样式设置为滚动

ios 5 UIPageViewController 将过渡样式更改为滚动

UIPageViewController 索引无法正常工作