如何使用链接到唯一页面的许多点击点使用大图像?

问题描述 投票:0回答:1

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

我以为我会将地图制作为png,然后制作可以放在地图上的图标。我希望可以分配每个图标来识别轻击,然后触发所需的操作。但是,我无法理解如何做到这一点。

根据我的理解,UI基于视图中的拍子坐标来识别拍子的相对位置,但是UI无法识别超出视图的图像内的拍子的位置。

我正在使用UIscrollview使图像可滚动,并且有一个很大的图形,其范围远远超出了电话屏幕。

我觉得我可以找到一种方法来完成此操作,但是我被卡在XCode的显示区域中。由于我的图像比电话屏幕大得多,因此我什至无法一次看到整个图像,并想出如何处理分配所有手势识别器和链接的方法。

对教程的任何建议,或其他任何建议,我们都表示感谢。我在下面附加了一张希望使其更清晰的图像,以及主地图的图像。

My map

My dilemma

swift xcode uistoryboard
1个回答
0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.