Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UIPageViewController:如何拥有;“否定”;视图控制器之间的间距(使用滚动过渡样式)_Ios_Objective C_Horizontal Scrolling_Uipageviewcontroller_Spacing - Fatal编程技术网

Ios UIPageViewController:如何拥有;“否定”;视图控制器之间的间距(使用滚动过渡样式)

Ios UIPageViewController:如何拥有;“否定”;视图控制器之间的间距(使用滚动过渡样式),ios,objective-c,horizontal-scrolling,uipageviewcontroller,spacing,Ios,Objective C,Horizontal Scrolling,Uipageviewcontroller,Spacing,我必须实现一个视图控制器(在iPhone上,仅纵向,全屏视图),其中视图的上部必须具有水平、分页的滚动行为,可能是无限的 我已经出于类似目的使用了UIPageViewControllers,以利用数据源和委托协议,这些协议非常有助于管理内存和其他内容(在内存中仅保留3个视图控制器,在完成转换时为委托人提供准确处理操作等):因此,我认为在这种情况下,该组件也是最佳选择 但我的问题来了。在我意识到的视图中,我必须让用户明白,他可以左右滑动以移动到另一个视图:页面控件不是一个好的选择,因为滚动可能是无

我必须实现一个视图控制器(在iPhone上,仅纵向,全屏视图),其中视图的上部必须具有水平、分页的滚动行为,可能是无限的

我已经出于类似目的使用了
UIPageViewControllers
,以利用数据源和委托协议,这些协议非常有助于管理内存和其他内容(在内存中仅保留3个视图控制器,在完成转换时为委托人提供准确处理操作等):因此,我认为在这种情况下,该组件也是最佳选择

但我的问题来了。在我意识到的视图中,我必须让用户明白,他可以左右滑动以移动到另一个视图:页面控件不是一个好的选择,因为滚动可能是无限的,所以我想让左视图和右视图控制器的一小部分视图可见。
诸如此类:

(很抱歉,我还不能在帖子中包含图片)

到目前为止,我还不知道如何实现这一点。在初始化期间的选项中,
UIPageViewControllerOptionSpineLocationKey
可以指定为(从文档中)设置“页面之间的空间,以点为单位”:但这似乎只适用于正值,因此空间增大,而忽略了可能减小空间的负值

我希望有一个使用页面视图控制器的解决方案,因为在转换完成的同时,我需要刷新屏幕下部的表视图,而页面控制器的委托方法正是实现这一目标的理想方法。 也许集合视图可以作为替代解决方案,但它更复杂,我不确定如何获得我描述的刷新表视图的行为


如果需要,我可以附加一些代码和原型的屏幕截图。好的,我知道这是不可能的,为什么会这样。 数据源方法在需要时加载当前视图控制器之前和之后的视图控制器。如我所愿,要使这些视图控制器的视图始终可见,需要数据源在当前视图控制器之后(或之前,取决于滚动方向)加载多个视图控制器,以便为平移操作做好准备(可能在用户抬起手指结束动画之前,“之后”加载两个视图控制器)或者“before”可以在我想要的配置中显示),这不是iPhone上的
UIPageViewController
想要的,尤其是在纵向模式下


所以实际上,实现在任何时候都可以在水平滚动组件中看到多个视图的唯一方法,是实现具有水平分页的
UIScrollview
,并相应地计算
contentSize
和其他大小。

实现这一点的iOS 7方法是使用启用了
paging
UICollectionViewController
进行捕捉。