Ios 使用UIPageViewController创建栅格/地图

Ios 使用UIPageViewController创建栅格/地图,ios,objective-c,uiscrollview,uiscrollviewdelegate,Ios,Objective C,Uiscrollview,Uiscrollviewdelegate,我一直在努力思考实现这一点的最佳方式,我得出结论,使用UIPageViewController可能是可行的。我想创建一个网格/地图,在那里我可以滑动每个坐标。以下是该概念的粗略图像- 我可以实现UIPageViewController的水平或垂直滚动,但我的问题是,是否可以像使用二维数组遍历网格一样进行滚动。是否有某种类型的库,我可以作为一个例子,如何做到这一点?任何帮助都将不胜感激 在我看来,让页面视图控制器水平或垂直滚动是更难解决的问题。页面视图控制器设计为从左向右滚动,而不是用于管理页面

我一直在努力思考实现这一点的最佳方式,我得出结论,使用UIPageViewController可能是可行的。我想创建一个网格/地图,在那里我可以滑动每个坐标。以下是该概念的粗略图像-


我可以实现UIPageViewController的水平或垂直滚动,但我的问题是,是否可以像使用二维数组遍历网格一样进行滚动。是否有某种类型的库,我可以作为一个例子,如何做到这一点?任何帮助都将不胜感激

在我看来,让页面视图控制器水平或垂直滚动是更难解决的问题。页面视图控制器设计为从左向右滚动,而不是用于管理页面网格。让他们正确处理这件事对我来说似乎很难或不可能

至于获取页面,这似乎是最简单的部分

只需跟踪行/列编号。然后从二维坐标映射到一维数组(注册到页面视图控制器的页面数组)


在网格中设置集合视图可能是一个更好的选择(调整为一次用一个单元格填充屏幕)。集合视图用于处理单元格网格和其他布局。

您可以使用4个页面视图控制器,一个顶层控制器,然后每个列一个。然后将每个“列”页面视图控制器置于顶层。顶层的家伙将水平滚动,列将垂直滚动

至于让它遍历2D数组,您可以将1D“column”数组传递给“column”页面视图代理。在委托内部,您只需像正常情况一样使用1D数组

index = column *  rows_per_column + row;