相当于iOS上的Android的ViewPager? 轻扫/翻页浏览数据

在Android上,使用ViewPager和Fragments可以很方便地在具有相同布局的多页数据之间进行浏览。 用户向左或向右滑动,页面改变。 所有页面只有一个视图控制器和一个布局资源,但是当用户浏览时数据内容会改变。 还有一个左右滑动的animation效果,您可以看到下一页的内容已经加载。

iOS上的这个相当于什么?

使用pagingEnabled属性设置为YES的UIScrollView 。 通常一个UIPageControl与它一起使用。

如果您是Google的“UIScrollView分页”,您可以find许多教程和示例。 Apple提供了一个PageControl示例程序。

iOS没有提供任何类似适配器的类,但这里是一个教程,解释了如何实现“虚拟页面”,以便您不必一次实例化所有页面: http : //cocoawithlove.com/ 2009/01 /多虚拟页面function于uiscrollview.html

你应该看看UIPageViewController 。 它自iOS 5以来可用。

我创build了一个iOS的自定义控件,其作用类似于android的viewPager。 你可以在这里查看 。

请访问https://github.com/vowed21/HWViewPager

它可以帮助你。

inheritanceUICollectionView。

可重复使用的单元格,(可能是Android的适配器)

并启用预览左侧,右侧的部分。

你可以使用下面的想法来实现它自己。

假设我们希望无限循环三个项目(单元格)–C0,C1,C2,我们可以在中心单元格的左侧和右侧生成虚拟单元格,结果如下,

C0 C1 C2 [C0 C1 C2] C0 C1 C2

在括号中的单元格是我们通过设备屏幕看到的单元格,如果我们向左滚动,

C0 [C1 C2 C0] C1 C2 C0 C1 C2

此时,强制contentOffset指向给定虚拟单元的右侧,

C0 [C1 C2 C0] C1 C2 C0 C1 C2 – > C0 C1 C2 C0 [C1 C2 C0] C1 C2

当您向右滚动它时,它将以相同的机制工作。

在我的解决scheme下面,设置项目视图宽度等于其父视图将解决您的问题。

https://github.com/DragonCherry/HFSwipeView

如果你只是想检查它是如何工作的,请点击下面的链接,然后点击“播放”。

https://www.cocoacontrols.com/controls/hfswipeview

在UIScrollView中只使用pagingEnabled选项可能适用于全尺寸单元格项目,但如果要设置内容项目的宽度比其父窗口(滚动)视图更窄,将无法正常工作。 请通过参考cocoacontrols“Sync”或“Edge Preview”示例来检查此function。