ios - 单个 ImageView 中的多个触摸事件

标签 ios objective-c iphone uiimageview

我想为单个 ImageView 实现多个触摸事件。例如,我有一张印度 map 的图像,在那里我应该能够捕捉到不同州的触摸事件。有人可以为我提供一些想法以在 objective-c 中实现这一点吗?

最佳答案

嗯,一个很有趣的问题。该解决方案可以通过多种方式实现。

解决方案 1:

获取具有不同颜色的状态的图像。然后你可以得到触摸点的颜色,并与状态的颜色进行比较。 enter image description here

因此,如果某个点的颜色为 RGB 基数 256 为 ( 240, 125, 131 ),则该州为马哈拉施特拉邦。

请注意,在上面的这张图片中,某些州具有相同的颜色,因此该确切的图像将不起作用。

要获取像素的颜色,您可以引用 this link .

解决方案 2:(用 Swift 编写,但可以与使用 Obj-C 链接测试的 Objective C 完美配合)

  • 获取各个州的所有图像。
  • 在 IB
  • 中使 View 成为 StateView 的子类
  • 设置IB中State的图片和名称
  • 如果触摸在状态内,它会打印状态名称,直到现在用于演示目的。

  • 链接到project .

    引用 :

    Mark Moeykens Youtube

    希望这可以帮助。

    结果 :

    enter image description here

    关于ios - 单个 ImageView 中的多个触摸事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51666742/

    相关文章:

    ios - 通过枚举值循环注册 UITableView 单元格

    iOS/XCode 在目标中分离层

    android - 通过指纹验证保护数据

    ios - objc_msgSend [__NSArrayM dealloc] 崩溃报告有时来自 Crashlytics

    iphone - 将最小日期设置为 UIDatePicker

    ios - 几天后PFUser currentUser返回null

    ios - 如何在谷歌地图 iOS 上放置一个文本字段

    objective-c - 混淆 LLDB 输出

    objective-c - 在不明确定义 CGRect 的情况下将帧缩小 80%

    iphone - 如何在默认日历和自定义日历中设置背景图像