使用 UIPageViewController 创建网格/地图

Posted

技术标签:

【中文标题】使用 UIPageViewController 创建网格/地图【英文标题】:Create a grid/map with UIPageViewController 【发布时间】:2015-12-12 22:29:55 【问题描述】:

我一直在尝试考虑实现这一点的最佳方法,并且我得出的结论是 UIPageViewControllers 可能是可能的。我想创建一个网格/地图,我可以在其中滑动每个坐标。下面是这个概念的粗略绘制的图像 -

我可以实现 UIPageViewController 水平或垂直滚动​​,但我的问题是可以做到这一点,就好像我正在使用二维数组遍历网格一样。是否有某种库可以用作如何执行此操作的示例?任何帮助,将不胜感激。

【问题讨论】:

【参考方案1】:

您可以使用 4 个页面视图控制器,一个***控制器,然后每个列一个。然后你会将每个“列”页面视图控制器放到顶层。顶层的人会水平滚动,列会垂直滚动。

至于使其遍历二维数组,您可以将一维“列”数组传递给“列”页面视图委托。在委托内部,您只需照常使用一维数组。

【讨论】:

【参考方案2】:

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

至于获取您的页面,这似乎很简单。

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

index = column *  rows_per_column + row; 

在网格中设置的集合视图可能是更好的选择(经过调整,它一次用一个单元格填充屏幕。)集合视图旨在处理单元格网格等布局。

【讨论】:

以上是关于使用 UIPageViewController 创建网格/地图的主要内容,如果未能解决你的问题,请参考以下文章

使用 UIPageViewController 导航

UIPageViewController - 使用警报验证翻页

UIPageviewController 使用 Storyboard 崩溃

在故事板中使用 UIPageViewController

使用 UIPageViewController 在多个视图控制器之间滑动

使用 UIPageViewController 创建网格/地图