Ios 检测sinle UIImageview上的触摸坐标

Ios 检测sinle UIImageview上的触摸坐标,ios,cocoa-touch,uitouch,Ios,Cocoa Touch,Uitouch,我有一个单一的图像视图,静态的国家地图被划分为该国的各个地区。我想做的是检测图像上的触摸位置,并提供相应区域的内容。由于区域边界不是线性的,如何保存每个区域的面积?我是否需要多个图像视图(甚至是带有这些图像的自定义UIButton),每个视图都属于一个区域,或者是否可能是我想要的方式 这是我想到的第一件事,所以也许有一个更简单更好的方法,我很想听听,我不知道如何查找,所以如果有重复的,我道歉。当然,我会感谢你的帮助 谢谢要实现您想要的功能,最简单的方法就是在UIImageView的顶部放置一些U

我有一个单一的图像视图,静态的国家地图被划分为该国的各个地区。我想做的是检测图像上的触摸位置,并提供相应区域的内容。由于区域边界不是线性的,如何保存每个区域的面积?我是否需要多个图像视图(甚至是带有这些图像的自定义UIButton),每个视图都属于一个区域,或者是否可能是我想要的方式

这是我想到的第一件事,所以也许有一个更简单更好的方法,我很想听听,我不知道如何查找,所以如果有重复的,我道歉。当然,我会感谢你的帮助


谢谢

要实现您想要的功能,最简单的方法就是在UIImageView的顶部放置一些UIButton,使其类型自定义(因此它们是透明的)。通常在每个国家的区域填充UIButton。如果你测试你的应用程序,你可能会注意到人们会接触到每个国家的中心,所以我不担心得到100%的覆盖率。根据国家的形状,一个或两个方形按钮可能就足够了


如果您确实希望采用100%覆盖率路线,可以将每个国家/地区嵌入到单独的UIImageView子类中,当您在任何地方检测到触摸时,查看每个国家/地区的图像,看看触摸的点是否透明。当你点击那个(非透明像素)时,你已经找到了国家。有关代码,请参阅本文:

一种简单而准确的方法是使用Ole Begemann的-每个州一个

这将允许您准确检测选择的状态。只需将每个州的图像放在单独的按钮中(周围是透明的),并将相邻的按钮对齐,以便州边界彼此对齐


按钮将检测压力机的位置,如果在其透明区域按下一个按钮,触摸将一直传递,直到找到正确的按钮。

谢谢Ned,这基本上也是最简单的方法(您的第一段)。如果没有其他建议,我会接受你的回答。那太好了!谢谢rokjarc,谢谢。@ErenBeşel:不客气!真正的荣誉归于奥勒·贝格曼:)