如何使用带有许多点击点链接到独特页面的大图像?

How to use a large image with many tap points linked to unique pages?

我是 Xcode 和 Swift 的新手,对编码也比较陌生。我的应用程序基本上是一个独立的视频游戏地图,没有附加游戏。因此,主屏幕是地图视图。需要明确的是:我的应用程序只是一个包含照片和文本的页面索引,具有三个屏幕——我没有编写任何类型的代码来与任何 GPS 信息交互,并且用户无法输入任何信息。

我想我会把我的地图制作成 png,然后制作我可以放在地图上的图标。我希望每个图标都可以指定为识别点击,然后触发所需的操作。但是,我无法理解如何实现这一点。

根据我的理解,UI 根据视图中的点击坐标识别点击的相对位置,但 UI 无法识别扩展图像中点击的位置超越视野。

我正在使用 UIscrollview 使我的图像可滚动,并且我有一个大图形,远远超出了 phone 屏幕。

我觉得我可以找到一种方法来完成这个,但是我被困在 XCode 的显示区域。由于我的图像比 phone 屏幕大得多,我什至无法一次看到整个图像,并弄清楚如何处理分配所有手势识别器和链接。

非常感谢有关教程或其他任何内容的任何建议。我在下面附上了一张图片,希望能使它更清楚,还有一张我的主地图的图片。

点击手势将为您提供在您指定的任何视图的边界坐标(即其本地坐标系)中点击的坐标。滚动视图确实会在您滚动时调整其边界,因此实际上点击已经在您的图像坐标中,假设您的图像视图确定您的滚动视图的内容大小。参见 locationInView:

这应该足以获取您的坐标,但实际上可以比这更简单。只需为您想要使用适当图标点击的每个区域制作一堆按钮,并为它们提供相对于您的图像视图和恒定高度宽度的左上角约束,然后从每个按钮拖动到您的下一个视图控制器以创建一个 segues 和你完成。无需做任何数学运算。